diff options
author | Rob Crittenden <rcritten@redhat.com> | 2012-01-10 17:46:12 -0500 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2012-01-11 12:04:23 -0500 |
commit | 843d116acbe312d082e30abd37b2f69771f9efaa (patch) | |
tree | 022614eec1f37bf8773b74e9d687bf51edc18a57 /install/po | |
parent | 1dadd06067acbf21ce1bd2ca73c082b21f907579 (diff) | |
download | freeipa.git-843d116acbe312d082e30abd37b2f69771f9efaa.tar.gz freeipa.git-843d116acbe312d082e30abd37b2f69771f9efaa.tar.xz freeipa.git-843d116acbe312d082e30abd37b2f69771f9efaa.zip |
update i18n pot file for branch ipa-2-2
Diffstat (limited to 'install/po')
-rw-r--r-- | install/po/ipa.pot | 2577 |
1 files changed, 1572 insertions, 1005 deletions
diff --git a/install/po/ipa.pot b/install/po/ipa.pot index 69c3114f..df55f400 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2011-12-08 15:30-0500\n" +"POT-Creation-Date: 2012-01-10 17:45-0500\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" @@ -24,7 +24,7 @@ msgstr "" msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/cli.py:587 ipa-client/ipa-getkeytab.c:758 +#: ipalib/cli.py:587 ipa-client/ipa-getkeytab.c:768 #, c-format msgid "Passwords do not match!" msgstr "" @@ -382,24 +382,29 @@ msgstr "" msgid "Not registered yet" msgstr "" -#: ipalib/frontend.py:405 +#: ipalib/errors.py:1545 +#, python-format +msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" +msgstr "" + +#: ipalib/frontend.py:408 msgid "Results are truncated, try a more specific search" msgstr "" -#: ipalib/frontend.py:863 +#: ipalib/frontend.py:821 msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/frontend.py:869 +#: ipalib/frontend.py:827 msgid "Print entries as stored on the server. Only affects output format." msgstr "" -#: ipalib/frontend.py:874 ipalib/plugins/batch.py:69 +#: ipalib/frontend.py:832 ipalib/plugins/batch.py:69 msgid "Client version. Used to determine if server will accept request." msgstr "" -#: ipalib/frontend.py:998 +#: ipalib/frontend.py:967 msgid "Forward to server instead of running locally" msgstr "" @@ -415,293 +420,292 @@ msgstr "" msgid "All commands should at least have a result" msgstr "" -#: ipalib/parameters.py:296 +#: ipalib/parameters.py:358 msgid "incorrect type" msgstr "" -#: ipalib/parameters.py:299 +#: ipalib/parameters.py:361 msgid "Only one value is allowed" msgstr "" -#: ipalib/parameters.py:903 +#: ipalib/parameters.py:1023 msgid "must be True or False" msgstr "" -#: ipalib/parameters.py:1004 +#: ipalib/parameters.py:1124 msgid "must be an integer" msgstr "" -#: ipalib/parameters.py:1056 +#: ipalib/parameters.py:1176 #, python-format msgid "must be at least %(minvalue)d" msgstr "" -#: ipalib/parameters.py:1066 +#: ipalib/parameters.py:1186 #, python-format msgid "can be at most %(maxvalue)d" msgstr "" -#: ipalib/parameters.py:1107 +#: ipalib/parameters.py:1227 msgid "must be a decimal number" msgstr "" -#: ipalib/parameters.py:1130 +#: ipalib/parameters.py:1250 #, python-format msgid "must be at least %(minvalue)f" msgstr "" -#: ipalib/parameters.py:1140 +#: ipalib/parameters.py:1260 #, python-format msgid "can be at most %(maxvalue)f" msgstr "" -#: ipalib/parameters.py:1207 +#: ipalib/parameters.py:1327 #, python-format msgid "must match pattern \"%(pattern)s\"" msgstr "" -#: ipalib/parameters.py:1225 +#: ipalib/parameters.py:1345 msgid "must be binary data" msgstr "" -#: ipalib/parameters.py:1241 +#: ipalib/parameters.py:1361 #, python-format msgid "must be at least %(minlength)d bytes" msgstr "" -#: ipalib/parameters.py:1251 +#: ipalib/parameters.py:1371 #, python-format msgid "can be at most %(maxlength)d bytes" msgstr "" -#: ipalib/parameters.py:1261 +#: ipalib/parameters.py:1381 #, python-format msgid "must be exactly %(length)d bytes" msgstr "" -#: ipalib/parameters.py:1283 +#: ipalib/parameters.py:1403 msgid "must be Unicode text" msgstr "" -#: ipalib/parameters.py:1316 +#: ipalib/parameters.py:1436 msgid "Leading and trailing spaces are not allowed" msgstr "" -#: ipalib/parameters.py:1324 +#: ipalib/parameters.py:1444 #, python-format msgid "must be at least %(minlength)d characters" msgstr "" -#: ipalib/parameters.py:1334 +#: ipalib/parameters.py:1454 #, python-format msgid "can be at most %(maxlength)d characters" msgstr "" -#: ipalib/parameters.py:1344 +#: ipalib/parameters.py:1464 #, python-format msgid "must be exactly %(length)d characters" msgstr "" -#: ipalib/parameters.py:1362 +#: ipalib/parameters.py:1482 #, python-format msgid "The character '%(char)r' is not allowed." msgstr "" -#: ipalib/parameters.py:1406 +#: ipalib/parameters.py:1526 #, python-format msgid "must be one of %(values)r" msgstr "" -#: ipalib/plugins/aci.py:153 +#: ipalib/plugins/aci.py:154 msgid "A list of ACI values" msgstr "" -#: ipalib/plugins/aci.py:215 +#: ipalib/plugins/aci.py:216 msgid "type, filter, subtree and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:218 +#: ipalib/plugins/aci.py:219 msgid "ACI prefix is required" msgstr "" -#: ipalib/plugins/aci.py:221 +#: ipalib/plugins/aci.py:222 msgid "" "at least one of: type, filter, subtree, targetgroup, attrs or memberof are " "required" msgstr "" -#: ipalib/plugins/aci.py:224 +#: ipalib/plugins/aci.py:225 msgid "filter and memberof are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:230 +#: ipalib/plugins/aci.py:231 msgid "group, permission and self are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:232 +#: ipalib/plugins/aci.py:233 msgid "One of group, permission or self is required" msgstr "" -#: ipalib/plugins/aci.py:251 +#: ipalib/plugins/aci.py:252 #, python-format msgid "Group '%s' does not exist" msgstr "" -#: ipalib/plugins/aci.py:273 +#: ipalib/plugins/aci.py:274 msgid "empty filter" msgstr "" -#: ipalib/plugins/aci.py:294 +#: ipalib/plugins/aci.py:295 #, python-format msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/plugins/aci.py:379 +#: ipalib/plugins/aci.py:382 #, python-format msgid "ACI with name \"%s\" not found" msgstr "" -#: ipalib/plugins/aci.py:400 +#: ipalib/plugins/aci.py:403 msgid "ACI prefix" msgstr "" -#: ipalib/plugins/aci.py:401 +#: ipalib/plugins/aci.py:404 msgid "" "Prefix used to distinguish ACI types (permission, delegation, selfservice, " "none)" msgstr "" -#: ipalib/plugins/aci.py:412 +#: ipalib/plugins/aci.py:415 msgid "ACIs" msgstr "" -#: ipalib/plugins/aci.py:417 +#: ipalib/plugins/aci.py:420 msgid "ACI name" msgstr "" -#: ipalib/plugins/aci.py:422 ipalib/plugins/permission.py:109 +#: ipalib/plugins/aci.py:426 ipalib/plugins/permission.py:109 msgid "Permission" msgstr "" -#: ipalib/plugins/aci.py:423 +#: ipalib/plugins/aci.py:427 msgid "Permission ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:132 +#: ipalib/plugins/aci.py:432 ipalib/plugins/delegation.py:134 msgid "User group" msgstr "" -#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:133 +#: ipalib/plugins/aci.py:433 ipalib/plugins/delegation.py:135 msgid "User group ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:67 +#: ipalib/plugins/aci.py:438 ipalib/plugins/baseldap.py:64 #: ipalib/plugins/delegation.py:115 ipalib/plugins/permission.py:108 #: ipalib/plugins/permission.py:119 ipalib/plugins/selfservice.py:88 msgid "Permissions" msgstr "" -#: ipalib/plugins/aci.py:433 +#: ipalib/plugins/aci.py:439 msgid "" "comma-separated list of permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:121 -#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:94 +#: ipalib/plugins/aci.py:447 ipalib/plugins/delegation.py:122 +#: ipalib/plugins/permission.py:126 ipalib/plugins/selfservice.py:95 msgid "Attributes" msgstr "" -#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:122 -#: ipalib/plugins/permission.py:126 ipalib/plugins/selfservice.py:95 +#: ipalib/plugins/aci.py:448 ipalib/plugins/delegation.py:123 +#: ipalib/plugins/permission.py:127 ipalib/plugins/selfservice.py:96 msgid "Comma-separated list of attributes" msgstr "" -#: ipalib/plugins/aci.py:444 ipalib/plugins/permission.py:132 +#: ipalib/plugins/aci.py:454 ipalib/plugins/permission.py:134 msgid "Type" msgstr "" -#: ipalib/plugins/aci.py:445 +#: ipalib/plugins/aci.py:455 msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/plugins/aci.py:450 +#: ipalib/plugins/aci.py:461 msgid "Member of" msgstr "" -#: ipalib/plugins/aci.py:451 +#: ipalib/plugins/aci.py:462 msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:351 -#: ipalib/plugins/permission.py:145 +#: ipalib/plugins/aci.py:467 ipalib/plugins/permission.py:147 msgid "Filter" msgstr "" -#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:146 +#: ipalib/plugins/aci.py:468 ipalib/plugins/permission.py:148 msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:151 +#: ipalib/plugins/aci.py:473 ipalib/plugins/permission.py:153 msgid "Subtree" msgstr "" -#: ipalib/plugins/aci.py:461 +#: ipalib/plugins/aci.py:474 msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:157 +#: ipalib/plugins/aci.py:479 ipalib/plugins/permission.py:159 msgid "Target group" msgstr "" -#: ipalib/plugins/aci.py:466 +#: ipalib/plugins/aci.py:480 msgid "Group to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:470 +#: ipalib/plugins/aci.py:485 msgid "Target your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:471 +#: ipalib/plugins/aci.py:486 msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:482 +#: ipalib/plugins/aci.py:498 #, python-format msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:487 +#: ipalib/plugins/aci.py:503 msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/plugins/aci.py:538 +#: ipalib/plugins/aci.py:554 #, python-format msgid "Deleted ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830 -#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:248 -#: ipalib/plugins/selfservice.py:205 +#: ipalib/plugins/aci.py:598 ipalib/plugins/aci.py:846 +#: ipalib/plugins/aci.py:887 ipalib/plugins/delegation.py:250 +#: ipalib/plugins/selfservice.py:207 msgid "ACI" msgstr "" -#: ipalib/plugins/aci.py:588 +#: ipalib/plugins/aci.py:604 #, python-format msgid "Modified ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:653 +#: ipalib/plugins/aci.py:669 #, python-format msgid "%(count)d ACI matched" msgid_plural "%(count)d ACIs matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/aci.py:878 +#: ipalib/plugins/aci.py:894 msgid "New ACI name" msgstr "" -#: ipalib/plugins/aci.py:882 +#: ipalib/plugins/aci.py:898 #, python-format msgid "Renamed ACI to \"%(value)s\"" msgstr "" @@ -829,10 +833,11 @@ msgstr "" #: ipalib/plugins/automember.py:171 ipalib/plugins/automount.py:526 #: ipalib/plugins/group.py:115 ipalib/plugins/hbacrule.py:181 #: ipalib/plugins/hbacsvc.py:79 ipalib/plugins/hbacsvcgroup.py:77 -#: ipalib/plugins/host.py:260 ipalib/plugins/hostgroup.py:87 +#: ipalib/plugins/host.py:263 ipalib/plugins/hostgroup.py:87 #: ipalib/plugins/netgroup.py:111 ipalib/plugins/privilege.py:76 -#: ipalib/plugins/role.py:92 ipalib/plugins/sudocmd.py:76 -#: ipalib/plugins/sudocmdgroup.py:78 ipalib/plugins/sudorule.py:103 +#: ipalib/plugins/role.py:92 ipalib/plugins/selinuxusermap.py:168 +#: ipalib/plugins/sudocmd.py:76 ipalib/plugins/sudocmdgroup.py:78 +#: ipalib/plugins/sudorule.py:103 msgid "Description" msgstr "" @@ -1127,7 +1132,7 @@ msgstr "" msgid "Automount Location" msgstr "" -#: ipalib/plugins/automount.py:201 ipalib/plugins/host.py:270 +#: ipalib/plugins/automount.py:201 ipalib/plugins/host.py:273 msgid "Location" msgstr "" @@ -1390,285 +1395,296 @@ msgstr[1] "" msgid "Display an automount key." msgstr "" -#: ipalib/plugins/baseldap.py:40 -msgid "Keytab" -msgstr "" - -#: ipalib/plugins/baseldap.py:43 ipalib/plugins/entitle.py:487 -#: ipalib/plugins/migration.py:328 ipalib/plugins/user.py:228 +#: ipalib/plugins/baseldap.py:40 ipalib/plugins/entitle.py:487 +#: ipalib/plugins/migration.py:327 ipalib/plugins/user.py:240 msgid "Password" msgstr "" -#: ipalib/plugins/baseldap.py:46 +#: ipalib/plugins/baseldap.py:43 msgid "Failed members" msgstr "" -#: ipalib/plugins/baseldap.py:49 +#: ipalib/plugins/baseldap.py:46 msgid "Member users" msgstr "" -#: ipalib/plugins/baseldap.py:52 +#: ipalib/plugins/baseldap.py:49 msgid "Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:55 +#: ipalib/plugins/baseldap.py:52 msgid "Member of groups" msgstr "" -#: ipalib/plugins/baseldap.py:58 +#: ipalib/plugins/baseldap.py:55 msgid "Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:61 +#: ipalib/plugins/baseldap.py:58 msgid "Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:64 +#: ipalib/plugins/baseldap.py:61 msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:73 ipalib/plugins/role.py:81 +#: ipalib/plugins/baseldap.py:70 ipalib/plugins/role.py:81 msgid "Roles" msgstr "" -#: ipalib/plugins/baseldap.py:76 ipalib/plugins/sudocmdgroup.py:66 +#: ipalib/plugins/baseldap.py:73 ipalib/plugins/sudocmdgroup.py:66 #: ipalib/plugins/sudocmdgroup.py:86 msgid "Sudo Command Groups" msgstr "" -#: ipalib/plugins/baseldap.py:82 +#: ipalib/plugins/baseldap.py:79 msgid "Granting privilege to roles" msgstr "" -#: ipalib/plugins/baseldap.py:85 +#: ipalib/plugins/baseldap.py:82 msgid "Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:88 +#: ipalib/plugins/baseldap.py:85 msgid "Member of netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:91 +#: ipalib/plugins/baseldap.py:88 msgid "Member services" msgstr "" -#: ipalib/plugins/baseldap.py:94 +#: ipalib/plugins/baseldap.py:91 msgid "Member service groups" msgstr "" -#: ipalib/plugins/baseldap.py:100 +#: ipalib/plugins/baseldap.py:97 msgid "Member HBAC service" msgstr "" -#: ipalib/plugins/baseldap.py:103 +#: ipalib/plugins/baseldap.py:100 msgid "Member HBAC service groups" msgstr "" -#: ipalib/plugins/baseldap.py:112 +#: ipalib/plugins/baseldap.py:109 msgid "Indirect Member users" msgstr "" -#: ipalib/plugins/baseldap.py:115 +#: ipalib/plugins/baseldap.py:112 msgid "Indirect Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:118 +#: ipalib/plugins/baseldap.py:115 msgid "Indirect Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:121 +#: ipalib/plugins/baseldap.py:118 msgid "Indirect Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:124 +#: ipalib/plugins/baseldap.py:121 msgid "Indirect Member of roles" msgstr "" -#: ipalib/plugins/baseldap.py:127 +#: ipalib/plugins/baseldap.py:124 msgid "Indirect Member permissions" msgstr "" -#: ipalib/plugins/baseldap.py:130 +#: ipalib/plugins/baseldap.py:127 msgid "Indirect Member HBAC service" msgstr "" -#: ipalib/plugins/baseldap.py:133 +#: ipalib/plugins/baseldap.py:130 msgid "Indirect Member HBAC service group" msgstr "" -#: ipalib/plugins/baseldap.py:136 +#: ipalib/plugins/baseldap.py:133 msgid "Indirect Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:151 +#: ipalib/plugins/baseldap.py:148 msgid "External host" msgstr "" -#: ipalib/plugins/baseldap.py:154 +#: ipalib/plugins/baseldap.py:151 msgid "Failed source hosts/hostgroups" msgstr "" -#: ipalib/plugins/baseldap.py:157 +#: ipalib/plugins/baseldap.py:154 msgid "Failed hosts/hostgroups" msgstr "" -#: ipalib/plugins/baseldap.py:160 +#: ipalib/plugins/baseldap.py:157 msgid "Failed users/groups" msgstr "" -#: ipalib/plugins/baseldap.py:163 +#: ipalib/plugins/baseldap.py:160 msgid "Failed service/service groups" msgstr "" -#: ipalib/plugins/baseldap.py:166 +#: ipalib/plugins/baseldap.py:163 msgid "Failed managedby" msgstr "" -#: ipalib/plugins/baseldap.py:169 +#: ipalib/plugins/baseldap.py:166 msgid "Failed to remove" msgstr "" -#: ipalib/plugins/baseldap.py:318 +#: ipalib/plugins/baseldap.py:306 msgid "entry" msgstr "" -#: ipalib/plugins/baseldap.py:319 +#: ipalib/plugins/baseldap.py:307 msgid "entries" msgstr "" -#: ipalib/plugins/baseldap.py:351 ipalib/plugins/baseldap.py:352 +#: ipalib/plugins/baseldap.py:339 ipalib/plugins/baseldap.py:340 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:354 +#: ipalib/plugins/baseldap.py:342 #, python-format msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:355 +#: ipalib/plugins/baseldap.py:343 #, python-format msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:356 +#: ipalib/plugins/baseldap.py:344 #, python-format msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:357 +#: ipalib/plugins/baseldap.py:345 #, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:508 +#: ipalib/plugins/baseldap.py:632 msgid "" -"Add an attribute/value pair. Format is attr=value. The attribute must be " -"part of the schema." +"Set an attribute to a name/value pair. Format is attr=value.\n" +"For multi-valued attributes, the command replaces the values already present." msgstr "" -#: ipalib/plugins/baseldap.py:513 +#: ipalib/plugins/baseldap.py:638 msgid "" -"Set an attribute to a name/value pair. Format is attr=value.\n" -"For multi-valued attributes, the command replaces the values already present." +"Add an attribute/value pair. Format is attr=value. The attribute\n" +"must be part of the schema." +msgstr "" + +#: ipalib/plugins/baseldap.py:644 +msgid "" +"Delete an attribute/value pair. The option will be evaluated\n" +"last, after all sets and adds." msgstr "" -#: ipalib/plugins/baseldap.py:831 +#: ipalib/plugins/baseldap.py:965 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:856 ipalib/plugins/baseldap.py:925 -#: ipalib/plugins/internal.py:354 +#: ipalib/plugins/baseldap.py:990 ipalib/plugins/baseldap.py:1062 +#: ipalib/plugins/internal.py:409 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:857 ipalib/plugins/baseldap.py:926 +#: ipalib/plugins/baseldap.py:991 ipalib/plugins/baseldap.py:1063 msgid "" "Display the access rights of this entry (requires --all). See ipa man page " "for details." msgstr "" -#: ipalib/plugins/baseldap.py:935 +#: ipalib/plugins/baseldap.py:1072 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:936 +#: ipalib/plugins/baseldap.py:1073 #, python-format msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:1055 +#: ipalib/plugins/baseldap.py:1165 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:1180 ipalib/plugins/baseldap.py:1654 +#: ipalib/plugins/baseldap.py:1290 ipalib/plugins/baseldap.py:1782 #, python-format msgid "comma-separated list of %s" msgstr "" -#: ipalib/plugins/baseldap.py:1192 +#: ipalib/plugins/baseldap.py:1302 #, python-format msgid "member %s" msgstr "" -#: ipalib/plugins/baseldap.py:1221 ipalib/plugins/baseldap.py:1678 +#: ipalib/plugins/baseldap.py:1332 ipalib/plugins/baseldap.py:1807 #, python-format msgid "comma-separated list of %s to add" msgstr "" -#: ipalib/plugins/baseldap.py:1229 ipalib/plugins/baseldap.py:1690 +#: ipalib/plugins/baseldap.py:1340 ipalib/plugins/baseldap.py:1819 #: ipalib/plugins/privilege.py:153 ipalib/plugins/privilege.py:178 #: ipalib/plugins/role.py:164 ipalib/plugins/role.py:187 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:1233 ipalib/plugins/baseldap.py:1694 +#: ipalib/plugins/baseldap.py:1344 ipalib/plugins/baseldap.py:1823 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1327 ipalib/plugins/baseldap.py:1791 +#: ipalib/plugins/baseldap.py:1438 ipalib/plugins/baseldap.py:1920 #, python-format msgid "comma-separated list of %s to remove" msgstr "" -#: ipalib/plugins/baseldap.py:1334 ipalib/plugins/baseldap.py:1803 +#: ipalib/plugins/baseldap.py:1445 ipalib/plugins/baseldap.py:1932 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1338 ipalib/plugins/baseldap.py:1807 +#: ipalib/plugins/baseldap.py:1449 ipalib/plugins/baseldap.py:1936 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1437 +#: ipalib/plugins/baseldap.py:1548 #, python-format msgid "Search for %s with these %s %s." msgstr "" -#: ipalib/plugins/baseldap.py:1438 +#: ipalib/plugins/baseldap.py:1549 #, python-format msgid "Search for %s without these %s %s." msgstr "" -#: ipalib/plugins/baseldap.py:1442 +#: ipalib/plugins/baseldap.py:1557 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1443 +#: ipalib/plugins/baseldap.py:1558 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:1449 +#: ipalib/plugins/baseldap.py:1564 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1450 +#: ipalib/plugins/baseldap.py:1565 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/baseldap.py:1752 +#: ipalib/plugins/baseldap.py:1586 +msgid "Primary key only" +msgstr "" + +#: ipalib/plugins/baseldap.py:1587 +#, python-format +msgid "Results should contain primary key attribute only (\"%s\")" +msgstr "" + +#: ipalib/plugins/baseldap.py:1881 msgid "added" msgstr "" -#: ipalib/plugins/baseldap.py:1865 +#: ipalib/plugins/baseldap.py:1994 msgid "removed" msgstr "" @@ -1676,7 +1692,7 @@ msgstr "" msgid "Nested Methods to execute" msgstr "" -#: ipalib/plugins/cert.py:44 +#: ipalib/plugins/cert.py:43 msgid "" "\n" "IPA certificate operations\n" @@ -1740,300 +1756,290 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/cert.py:113 +#: ipalib/plugins/cert.py:112 msgid "Failure decoding Certificate Signing Request:" msgstr "" -#: ipalib/plugins/cert.py:126 ipalib/plugins/cert.py:143 +#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:142 msgid "Failure decoding Certificate Signing Request" msgstr "" -#: ipalib/plugins/cert.py:145 +#: ipalib/plugins/cert.py:144 #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/cert.py:208 +#: ipalib/plugins/cert.py:207 msgid "Submit a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:212 +#: ipalib/plugins/cert.py:211 msgid "CSR" msgstr "" -#: ipalib/plugins/cert.py:221 ipalib/plugins/service.py:225 +#: ipalib/plugins/cert.py:220 ipalib/plugins/service.py:228 msgid "Principal" msgstr "" -#: ipalib/plugins/cert.py:222 +#: ipalib/plugins/cert.py:221 msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/cert.py:229 +#: ipalib/plugins/cert.py:228 msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:237 ipalib/plugins/cert.py:440 -#: ipalib/plugins/entitle.py:174 ipalib/plugins/host.py:299 -#: ipalib/plugins/internal.py:273 ipalib/plugins/service.py:232 +#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:439 +#: ipalib/plugins/entitle.py:174 ipalib/plugins/host.py:302 +#: ipalib/plugins/internal.py:318 ipalib/plugins/service.py:235 msgid "Certificate" msgstr "" -#: ipalib/plugins/cert.py:241 ipalib/plugins/cert.py:443 -#: ipalib/plugins/host.py:172 ipalib/plugins/service.py:91 +#: ipalib/plugins/cert.py:240 ipalib/plugins/cert.py:442 +#: ipalib/plugins/host.py:175 ipalib/plugins/service.py:94 msgid "Subject" msgstr "" -#: ipalib/plugins/cert.py:245 ipalib/plugins/cert.py:446 -#: ipalib/plugins/host.py:178 ipalib/plugins/service.py:97 +#: ipalib/plugins/cert.py:244 ipalib/plugins/cert.py:445 +#: ipalib/plugins/host.py:181 ipalib/plugins/service.py:100 msgid "Issuer" msgstr "" -#: ipalib/plugins/cert.py:249 ipalib/plugins/cert.py:449 -#: ipalib/plugins/host.py:181 ipalib/plugins/service.py:100 +#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:448 +#: ipalib/plugins/host.py:184 ipalib/plugins/service.py:103 msgid "Not Before" msgstr "" -#: ipalib/plugins/cert.py:253 ipalib/plugins/cert.py:452 -#: ipalib/plugins/host.py:184 ipalib/plugins/service.py:103 +#: ipalib/plugins/cert.py:252 ipalib/plugins/cert.py:451 +#: ipalib/plugins/host.py:187 ipalib/plugins/service.py:106 msgid "Not After" msgstr "" -#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:455 -#: ipalib/plugins/host.py:187 ipalib/plugins/service.py:106 +#: ipalib/plugins/cert.py:256 ipalib/plugins/cert.py:454 +#: ipalib/plugins/host.py:190 ipalib/plugins/service.py:109 msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/cert.py:261 ipalib/plugins/cert.py:458 -#: ipalib/plugins/host.py:190 ipalib/plugins/service.py:109 +#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:457 +#: ipalib/plugins/host.py:193 ipalib/plugins/service.py:112 msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/cert.py:265 ipalib/plugins/cert.py:428 +#: ipalib/plugins/cert.py:264 ipalib/plugins/cert.py:427 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:273 ipalib/plugins/entitle.py:230 +#: ipalib/plugins/cert.py:272 ipalib/plugins/entitle.py:230 #: ipalib/plugins/entitle.py:583 ipalib/plugins/misc.py:57 msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/cert.py:401 +#: ipalib/plugins/cert.py:400 msgid "Check the status of a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:405 +#: ipalib/plugins/cert.py:404 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:411 +#: ipalib/plugins/cert.py:410 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:429 +#: ipalib/plugins/cert.py:428 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:434 +#: ipalib/plugins/cert.py:433 msgid "Retrieve an existing certificate." msgstr "" -#: ipalib/plugins/cert.py:461 ipalib/plugins/host.py:193 -#: ipalib/plugins/service.py:112 +#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:196 +#: ipalib/plugins/service.py:115 msgid "Revocation reason" msgstr "" -#: ipalib/plugins/cert.py:467 +#: ipalib/plugins/cert.py:466 msgid "Output filename" msgstr "" -#: ipalib/plugins/cert.py:468 +#: ipalib/plugins/cert.py:467 msgid "File to store the certificate in." msgstr "" -#: ipalib/plugins/cert.py:519 +#: ipalib/plugins/cert.py:518 msgid "Revoke a certificate." msgstr "" -#: ipalib/plugins/cert.py:525 +#: ipalib/plugins/cert.py:524 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:533 +#: ipalib/plugins/cert.py:532 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:534 +#: ipalib/plugins/cert.py:533 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:555 +#: ipalib/plugins/cert.py:554 msgid "7 is not a valid revocation reason" msgstr "" -#: ipalib/plugins/cert.py:564 +#: ipalib/plugins/cert.py:563 msgid "Take a revoked certificate off hold." msgstr "" -#: ipalib/plugins/cert.py:570 +#: ipalib/plugins/cert.py:569 msgid "Unrevoked" msgstr "" -#: ipalib/plugins/cert.py:573 ipalib/plugins/internal.py:180 +#: ipalib/plugins/cert.py:572 ipalib/plugins/internal.py:225 msgid "Error" msgstr "" #: ipalib/plugins/config.py:31 msgid "" "\n" -"Manage the IPA configuration\n" +"Server configuration\n" "\n" "Manage the default values that IPA uses and some of its tuning parameters.\n" "\n" -" To show the current configuration:\n" -" ipa config-show\n" +"NOTES:\n" "\n" -" To modify the configuration:\n" -" ipa config-mod --maxusername=99\n" +"The password notification value (--pwdexpnotify) is stored here so it will\n" +"be replicated. It is not currently used to notify users in advance of an\n" +"expiring password.\n" "\n" -"The available options are:\n" +"Some attributes are read-only, provided only for information purposes. " +"These\n" +"include:\n" "\n" -"User management options:\n" +"Certificate Subject base: the configured certificate subject base,\n" +" e.g. O=EXAMPLE.COM. This is configurable only at install time.\n" +"Password plug-in features: currently defines additional hashes that the\n" +" password will generate (there may be other conditions).\n" "\n" -" --maxusername=INT Max. username length when creating/modifying a user\n" -" --homedirectory=STR Default location of home directories (default /" -"home)\n" -" --defaultshell=STR Default shell for new users (default /bin/sh)\n" -" --defaultgroup=STR Default group for new users (default ipausers). The\n" -" group must exist, or adding new users will fail.\n" -" --emaildomain=STR Default e-mail domain for new users\n" +"When setting the order list for mapping SELinux users you may need to\n" +"quote the value so it isn't interpreted by the shell.\n" "\n" -"Search tuning options. These impact how much data is searched through and\n" -"how many records may be returned on a given search.\n" +"EXAMPLES:\n" "\n" -" --searchtimelimit=INT Max. amount of time (sec.) for a search (> 0, or -1 " -"for\n" -" unlimited)\n" -" --searchrecordslimit=INT Max. number of records to search (-1 is " -"unlimited)\n" +" Show basic server configuration:\n" +" ipa config-show\n" "\n" -"Server Configuration.\n" +" Show all configuration options:\n" +" ipa config-show --all\n" "\n" -" --enable-migration=BOOL Enable migration mode\n" -" --pwdexpnotify=INT Password Expiration Notification (days)\n" +" Change maximum username length to 99 characters:\n" +" ipa config-mod --maxusername=99\n" "\n" -"The password notification value is stored here so it will be replicated.\n" -"It is not currently used to notify users in advance of an expiring\n" -"password.\n" +" Increase default time and size limits for maximum IPA server search:\n" +" ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" "\n" -"Some attributes are read-only, provided only for information purposes. " -"These\n" -"include:\n" +" Set default user e-mail domain:\n" +" ipa config-mod --emaildomain=example.com\n" "\n" -"Certificate Subject base: the configured certificate subject base,\n" -" e.g. O=EXAMPLE.COM. This is configurable only at install time.\n" -"Password plug-in features: currently defines additional hashes that the\n" -" password will generate (there may be other conditions).\n" +" Enable migration mode to make \"ipa migrate-ds\" command operational:\n" +" ipa config-mod --enable-migration=TRUE\n" +"\n" +" Define SELinux user map order:\n" +" ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" +"s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" msgstr "" -#: ipalib/plugins/config.py:80 +#: ipalib/plugins/config.py:79 msgid "searchtimelimit must be -1 or > 1." msgstr "" -#: ipalib/plugins/config.py:87 +#: ipalib/plugins/config.py:86 msgid "configuration options" msgstr "" -#: ipalib/plugins/config.py:96 ipalib/plugins/config.py:97 +#: ipalib/plugins/config.py:95 ipalib/plugins/config.py:96 msgid "Configuration" msgstr "" -#: ipalib/plugins/config.py:102 -msgid "Max. username length" +#: ipalib/plugins/config.py:101 +msgid "Maximum username length" msgstr "" -#: ipalib/plugins/config.py:107 +#: ipalib/plugins/config.py:106 msgid "Home directory base" msgstr "" -#: ipalib/plugins/config.py:108 -msgid "Default location of home directories." +#: ipalib/plugins/config.py:107 +msgid "Default location of home directories" msgstr "" -#: ipalib/plugins/config.py:112 +#: ipalib/plugins/config.py:111 msgid "Default shell" msgstr "" -#: ipalib/plugins/config.py:113 -msgid "Default shell for new users." +#: ipalib/plugins/config.py:112 +msgid "Default shell for new users" msgstr "" -#: ipalib/plugins/config.py:117 +#: ipalib/plugins/config.py:116 msgid "Default users group" msgstr "" -#: ipalib/plugins/config.py:118 -msgid "Default group for new users." -msgstr "" - -#: ipalib/plugins/config.py:122 -msgid "Default e-mail domain for new users" +#: ipalib/plugins/config.py:117 +msgid "Default group for new users" msgstr "" -#: ipalib/plugins/config.py:123 -msgid "Default e-mail domain new users." +#: ipalib/plugins/config.py:121 ipalib/plugins/config.py:122 +msgid "Default e-mail domain" msgstr "" -#: ipalib/plugins/config.py:127 +#: ipalib/plugins/config.py:126 msgid "Search time limit" msgstr "" -#: ipalib/plugins/config.py:128 -msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)." +#: ipalib/plugins/config.py:127 +msgid "" +"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" msgstr "" -#: ipalib/plugins/config.py:133 +#: ipalib/plugins/config.py:132 msgid "Search size limit" msgstr "" -#: ipalib/plugins/config.py:134 -msgid "Max. number of records to search (-1 is unlimited)." +#: ipalib/plugins/config.py:133 +msgid "Maximum number of records to search (-1 is unlimited)" msgstr "" -#: ipalib/plugins/config.py:139 +#: ipalib/plugins/config.py:138 msgid "User search fields" msgstr "" -#: ipalib/plugins/config.py:140 -msgid "A comma-separated list of fields to search when searching for users." +#: ipalib/plugins/config.py:139 +msgid "A comma-separated list of fields to search in when searching for users" msgstr "" -#: ipalib/plugins/config.py:145 -msgid "A comma-separated list of fields to search when searching for groups." +#: ipalib/plugins/config.py:144 +msgid "A comma-separated list of fields to search in when searching for groups" msgstr "" -#: ipalib/plugins/config.py:149 +#: ipalib/plugins/config.py:148 ipalib/plugins/config.py:149 msgid "Enable migration mode" msgstr "" -#: ipalib/plugins/config.py:150 -msgid "Enable migration mode." -msgstr "" - -#: ipalib/plugins/config.py:154 +#: ipalib/plugins/config.py:153 msgid "Certificate Subject base" msgstr "" -#: ipalib/plugins/config.py:155 -msgid "Base for certificate subjects (OU=Test,O=Example)." +#: ipalib/plugins/config.py:154 +msgid "Base for certificate subjects (OU=Test,O=Example)" msgstr "" -#: ipalib/plugins/config.py:160 +#: ipalib/plugins/config.py:159 msgid "Default group objectclasses" msgstr "" -#: ipalib/plugins/config.py:161 -msgid "Default group objectclasses (comma-separated list)." +#: ipalib/plugins/config.py:160 +msgid "Default group objectclasses (comma-separated list)" msgstr "" #: ipalib/plugins/config.py:165 @@ -2041,48 +2047,72 @@ msgid "Default user objectclasses" msgstr "" #: ipalib/plugins/config.py:166 -msgid "Default user objectclasses (comma-separated list)." +msgid "Default user objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/config.py:170 +#: ipalib/plugins/config.py:171 msgid "Password Expiration Notification (days)" msgstr "" -#: ipalib/plugins/config.py:171 -msgid "Number of days's notice of impending password expiration." +#: ipalib/plugins/config.py:172 +msgid "Number of days's notice of impending password expiration" msgstr "" -#: ipalib/plugins/config.py:176 +#: ipalib/plugins/config.py:177 msgid "Password plugin features" msgstr "" -#: ipalib/plugins/config.py:177 -msgid "Extra hashes to generate in password plug-in." +#: ipalib/plugins/config.py:178 +msgid "Extra hashes to generate in password plug-in" +msgstr "" + +#: ipalib/plugins/config.py:182 +msgid "SELinux user map order" +msgstr "" + +#: ipalib/plugins/config.py:183 +msgid "Order in increasing priority of SELinux users, delimited by $" +msgstr "" + +#: ipalib/plugins/config.py:186 +msgid "Default SELinux user" msgstr "" -#: ipalib/plugins/config.py:189 +#: ipalib/plugins/config.py:187 +msgid "Default SELinux user when no match is found in SELinux map rule" +msgstr "" + +#: ipalib/plugins/config.py:198 msgid "Modify configuration options." msgstr "" -#: ipalib/plugins/config.py:202 +#: ipalib/plugins/config.py:206 msgid "The group doesn't exist" msgstr "" -#: ipalib/plugins/config.py:217 +#: ipalib/plugins/config.py:221 #, python-format msgid "attribute \"%s\" not allowed" msgstr "" -#: ipalib/plugins/config.py:225 +#: ipalib/plugins/config.py:229 msgid "May not be empty" msgstr "" -#: ipalib/plugins/config.py:238 +#: ipalib/plugins/config.py:242 #, python-format msgid "%s default attribute %s would not be allowed!" msgstr "" #: ipalib/plugins/config.py:247 +msgid "SELinux user map default user may not be empty" +msgstr "" + +#: ipalib/plugins/config.py:268 +msgid "Default SELinux user map default user not in order list" +msgstr "" + +#: ipalib/plugins/config.py:276 msgid "Show the current configuration." msgstr "" @@ -2151,57 +2181,57 @@ msgid "" "Comma-separated list of permissions to grant (read, write). Default is write." msgstr "" -#: ipalib/plugins/delegation.py:127 +#: ipalib/plugins/delegation.py:129 msgid "Member user group" msgstr "" -#: ipalib/plugins/delegation.py:128 +#: ipalib/plugins/delegation.py:130 msgid "User group to apply delegation to" msgstr "" -#: ipalib/plugins/delegation.py:154 +#: ipalib/plugins/delegation.py:156 msgid "Add a new delegation." msgstr "" -#: ipalib/plugins/delegation.py:156 +#: ipalib/plugins/delegation.py:158 #, python-format msgid "Added delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:176 +#: ipalib/plugins/delegation.py:178 msgid "Delete a delegation." msgstr "" -#: ipalib/plugins/delegation.py:179 +#: ipalib/plugins/delegation.py:181 #, python-format msgid "Deleted delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:195 +#: ipalib/plugins/delegation.py:197 msgid "Modify a delegation." msgstr "" -#: ipalib/plugins/delegation.py:197 +#: ipalib/plugins/delegation.py:199 #, python-format msgid "Modified delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:215 +#: ipalib/plugins/delegation.py:217 msgid "Search for delegations." msgstr "" -#: ipalib/plugins/delegation.py:218 +#: ipalib/plugins/delegation.py:220 #, python-format msgid "%(count)d delegation matched" msgid_plural "%(count)d delegations matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/delegation.py:244 +#: ipalib/plugins/delegation.py:246 msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:33 +#: ipalib/plugins/dns.py:35 msgid "" "\n" "Domain Name System (DNS)\n" @@ -2214,6 +2244,12 @@ msgid "" " ipa dnszone-add example.com --name-server nameserver.example.com\n" " --admin-email admin@example.com\n" "\n" +" Modify the zone to allow dynamic updates for hosts own records in realm " +"EXAMPLE.COM:\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE \\\n" +" --update-policy=\"grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM " +"krb5-self * AAAA;\"\n" +"\n" " Add new reverse zone specified by network IP address:\n" " ipa dnszone-add --name-from-ip 80.142.15.0/24\n" " --name-server nameserver.example.com\n" @@ -2227,6 +2263,10 @@ msgid "" " Delete previously added nameserver from example.com:\n" " ipa dnsrecord-del example.com @ --ns-rec nameserver2.example.com\n" "\n" +" Add LOC record for example.com:\n" +" ipa dnsrecord-add example.com @ --loc-rec \"49 11 42.4 N 16 36 29.6 E " +"227.64m\"\n" +"\n" " Add new A record for www.example.com: (random IP)\n" " ipa dnsrecord-add example.com www --a-rec 80.142.15.2\n" "\n" @@ -2293,322 +2333,561 @@ msgid "" " ipa dns-resolve www\n" msgstr "" -#: ipalib/plugins/dns.py:269 +#: ipalib/plugins/dns.py:173 +msgid "invalid IP address format" +msgstr "" + +#: ipalib/plugins/dns.py:180 +msgid "invalid IP network format" +msgstr "" + +#: ipalib/plugins/dns.py:188 +msgid "format must be specified as \"priority weight port target\"" +msgstr "" + +#: ipalib/plugins/dns.py:195 +msgid "" +"format must be specified as \"priority weight port target\" (see RFC 2782 " +"for details)" +msgstr "" + +#: ipalib/plugins/dns.py:205 +msgid "" +"format must be specified as \"priority mailserver\" (see RFC 1035 for " +"details)" +msgstr "" + +#: ipalib/plugins/dns.py:211 +msgid "the value of priority must be integer" +msgstr "" + +#: ipalib/plugins/dns.py:214 +msgid "the value of priority must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:223 +msgid "" +"format must be specified as \"order preference flags service regexp " +"replacement\" (see RFC 2915 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:230 +msgid "order and preference must be integers" +msgstr "" + +#: ipalib/plugins/dns.py:233 +msgid "the value of order and preference must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:238 +msgid "flag must be a single character (quotation is allowed)" +msgstr "" + +#: ipalib/plugins/dns.py:240 +msgid "flag must be one of \"S\", \"A\", \"U\", or \"P\"" +msgstr "" + +#: ipalib/plugins/dns.py:249 +msgid "" +"format must be specified as \"subtype hostname\" (see RFC 1183 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:254 +msgid "the value of subtype must be integer" +msgstr "" + +#: ipalib/plugins/dns.py:257 +msgid "the value of subtype must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:266 +msgid "" +"format must be specified as \"type key_tag algorithm certificate_or_crl" +"\" (see RFC 4398 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:274 ipalib/plugins/dns.py:317 +msgid "key_tag, algorithm and digest_type must be integers" +msgstr "" + +#: ipalib/plugins/dns.py:277 +msgid "the value of type and key_tag must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:280 ipalib/plugins/dns.py:349 +msgid "the value of algorithm must be between 0 and 255" +msgstr "" + +#: ipalib/plugins/dns.py:289 ipalib/plugins/dns.py:457 +#, python-format +msgid "" +"format must be specified as \"domain_name\" (see RFC 1035 for details): %s" +msgstr "" + +#: ipalib/plugins/dns.py:299 +#, python-format +msgid "format must be specified as \"target\" (see RFC 2672 for details): %s" +msgstr "" + +#: ipalib/plugins/dns.py:309 +msgid "" +"format must be specified as \"key_tag algorithm digest_type digest\" (see " +"RFC 4034 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:320 ipalib/plugins/dns.py:343 +msgid "the value of flags must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:323 +msgid "the value of algorithm and digest_type must be between 0 and 255" +msgstr "" + +#: ipalib/plugins/dns.py:332 +msgid "" +"format must be specified as \"flags protocol algorithm public_key\" (see RFC " +"2535 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:340 +msgid "flags, protocol and algorithm must be integers" +msgstr "" + +#: ipalib/plugins/dns.py:346 +msgid "the value of protocol must be between 0 and 255" +msgstr "" + +#: ipalib/plugins/dns.py:367 +msgid "" +"format must be specified as\n" +" \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] [siz" +"[\"m\"] [hp[\"m\"] [vp[\"m\"]]]]\"\n" +" where:\n" +" d1: [0 .. 90] (degrees latitude)\n" +" d2: [0 .. 180] (degrees longitude)\n" +" m1, m2: [0 .. 59] (minutes latitude/longitude)\n" +" s1, s2: [0 .. 59.999] (seconds latitude/longitude)\n" +" alt: [-100000.00 .. 42849672.95] BY .01 (altitude in meters)\n" +" siz, hp, vp: [0 .. 90000000.00] (size/precision in meters)\n" +" See RFC 1876 for details" +msgstr "" + +#: ipalib/plugins/dns.py:384 +#, python-format +msgid "%s must be integer" +msgstr "" + +#: ipalib/plugins/dns.py:391 +#, python-format +msgid "%s must be float" +msgstr "" + +#: ipalib/plugins/dns.py:394 +msgid "d1 and d2 must be between 0 and 90" +msgstr "" + +#: ipalib/plugins/dns.py:398 +msgid "m1, m2, s1 and s2 must be between 0 and 59.999" +msgstr "" + +#: ipalib/plugins/dns.py:401 +msgid "alt must be between -100000.00 and 42849672.95" +msgstr "" + +#: ipalib/plugins/dns.py:405 +msgid "siz, hp and vp must be between 0 and 90000000.00" +msgstr "" + +#: ipalib/plugins/dns.py:414 +msgid "format must be specified as \"domain_name\" (see RFC 1035 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:423 +msgid "" +"format must be specified as \"next_domain_name type1 [type2 [type3 " +"[...]]]\" (see RFC 4034 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:430 +msgid "type must be one of " +msgstr "" + +#: ipalib/plugins/dns.py:439 +msgid "" +"format must be specified as \"preference exchanger\" (see RFC 2230 for " +"details)" +msgstr "" + +#: ipalib/plugins/dns.py:445 +msgid "the value of preference must be integer" +msgstr "" + +#: ipalib/plugins/dns.py:448 +msgid "the value of preference must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:468 +msgid "" +"format must be specified as \"type_covered algorithm labels original_ttl " +"signature_expiration signature_inception key_tag signers_name signature" +"\" (see RFC 2535, 4034 for details)" +msgstr "" + +#: ipalib/plugins/dns.py:474 +msgid "type_covered must be one of " +msgstr "" + +#: ipalib/plugins/dns.py:482 +msgid "algorithm, labels, original_ttl and key_tag must be integers" +msgstr "" + +#: ipalib/plugins/dns.py:489 +msgid "" +"signature_expiration and signature_inception must follow time format " +"\"YYYYMMDDHHMMSS\"" +msgstr "" + +#: ipalib/plugins/dns.py:493 +msgid "the value of algorithm and labels must be between 0 and 255" +msgstr "" + +#: ipalib/plugins/dns.py:496 +msgid "the value of original_ttl must be between 0 and 4294967295" +msgstr "" + +#: ipalib/plugins/dns.py:499 +msgid "the value of tag must be between 0 and 65535" +msgstr "" + +#: ipalib/plugins/dns.py:508 +msgid "" +"format must be specified as \"algorithm fp_type fingerprint\" (see RFC 4255 " +"for details)" +msgstr "" + +#: ipalib/plugins/dns.py:515 +msgid "algorithm and fp_type must be integers" +msgstr "" + +#: ipalib/plugins/dns.py:518 +msgid "the value of algorithm and fp_type must be between 0 and 255" +msgstr "" + +#: ipalib/plugins/dns.py:527 +msgid "This DNS RR type is not supported by bind-dyndb-ldap plugin" +msgstr "" + +#: ipalib/plugins/dns.py:611 #, python-format msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/dns.py:296 +#: ipalib/plugins/dns.py:638 msgid "DNS zone" msgstr "" -#: ipalib/plugins/dns.py:297 +#: ipalib/plugins/dns.py:639 msgid "DNS zones" msgstr "" -#: ipalib/plugins/dns.py:304 +#: ipalib/plugins/dns.py:646 msgid "DNS Zones" msgstr "" -#: ipalib/plugins/dns.py:305 +#: ipalib/plugins/dns.py:647 msgid "DNS Zone" msgstr "" -#: ipalib/plugins/dns.py:310 +#: ipalib/plugins/dns.py:652 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:311 +#: ipalib/plugins/dns.py:653 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:317 +#: ipalib/plugins/dns.py:659 msgid "Reverse zone IP network" msgstr "" -#: ipalib/plugins/dns.py:318 +#: ipalib/plugins/dns.py:660 msgid "IP network to create reverse zone name from" msgstr "" -#: ipalib/plugins/dns.py:322 +#: ipalib/plugins/dns.py:665 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:323 +#: ipalib/plugins/dns.py:666 msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/dns.py:327 ipalib/plugins/dns.py:328 +#: ipalib/plugins/dns.py:671 ipalib/plugins/dns.py:672 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:334 +#: ipalib/plugins/dns.py:678 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:335 +#: ipalib/plugins/dns.py:679 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:342 +#: ipalib/plugins/dns.py:686 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:343 +#: ipalib/plugins/dns.py:687 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:350 +#: ipalib/plugins/dns.py:694 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:351 +#: ipalib/plugins/dns.py:695 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:358 +#: ipalib/plugins/dns.py:702 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:359 +#: ipalib/plugins/dns.py:703 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:366 +#: ipalib/plugins/dns.py:710 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:367 +#: ipalib/plugins/dns.py:711 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:375 +#: ipalib/plugins/dns.py:719 msgid "SOA time to live" msgstr "" -#: ipalib/plugins/dns.py:376 +#: ipalib/plugins/dns.py:720 msgid "SOA record time to live" msgstr "" -#: ipalib/plugins/dns.py:380 +#: ipalib/plugins/dns.py:724 msgid "SOA class" msgstr "" -#: ipalib/plugins/dns.py:381 +#: ipalib/plugins/dns.py:725 msgid "SOA record class" msgstr "" -#: ipalib/plugins/dns.py:386 ipalib/plugins/dns.py:387 +#: ipalib/plugins/dns.py:730 ipalib/plugins/dns.py:731 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:391 +#: ipalib/plugins/dns.py:735 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:392 +#: ipalib/plugins/dns.py:736 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:398 +#: ipalib/plugins/dns.py:742 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:399 +#: ipalib/plugins/dns.py:743 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:408 +#: ipalib/plugins/dns.py:754 msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:412 ipalib/plugins/dns.py:826 -#: ipalib/plugins/host.py:370 ipalib/plugins/service.py:249 +#: ipalib/plugins/dns.py:758 ipalib/plugins/dns.py:1155 +#: ipalib/plugins/host.py:373 ipalib/plugins/service.py:252 msgid "Force" msgstr "" -#: ipalib/plugins/dns.py:413 +#: ipalib/plugins/dns.py:759 msgid "Force DNS zone creation even if nameserver not in DNS." msgstr "" -#: ipalib/plugins/dns.py:416 +#: ipalib/plugins/dns.py:762 msgid "Add the nameserver to DNS with this IP address" msgstr "" -#: ipalib/plugins/dns.py:429 +#: ipalib/plugins/dns.py:775 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:445 +#: ipalib/plugins/dns.py:785 msgid "Nameserver address is not a fully qualified domain name" msgstr "" -#: ipalib/plugins/dns.py:471 +#: ipalib/plugins/dns.py:811 msgid "Delete DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:477 +#: ipalib/plugins/dns.py:817 msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:498 +#: ipalib/plugins/dns.py:830 msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/dns.py:516 +#: ipalib/plugins/dns.py:848 msgid "Forward zones only" msgstr "" -#: ipalib/plugins/dns.py:518 +#: ipalib/plugins/dns.py:850 msgid "Search for forward zones only" msgstr "" -#: ipalib/plugins/dns.py:537 +#: ipalib/plugins/dns.py:869 msgid "Display information about a DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:543 +#: ipalib/plugins/dns.py:875 msgid "Disable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:546 +#: ipalib/plugins/dns.py:878 #, python-format msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:564 +#: ipalib/plugins/dns.py:896 msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:567 +#: ipalib/plugins/dns.py:899 #, python-format msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:590 +#: ipalib/plugins/dns.py:922 msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:591 +#: ipalib/plugins/dns.py:923 msgid "DNS resource records" msgstr "" -#: ipalib/plugins/dns.py:595 +#: ipalib/plugins/dns.py:927 msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/dns.py:596 +#: ipalib/plugins/dns.py:928 msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/dns.py:601 ipalib/plugins/dns.py:602 +#: ipalib/plugins/dns.py:933 ipalib/plugins/dns.py:934 msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:607 ipalib/plugins/dns.py:608 +#: ipalib/plugins/dns.py:939 ipalib/plugins/dns.py:940 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:612 +#: ipalib/plugins/dns.py:944 msgid "Class" msgstr "" -#: ipalib/plugins/dns.py:613 +#: ipalib/plugins/dns.py:945 msgid "DNS class" msgstr "" -#: ipalib/plugins/dns.py:640 +#: ipalib/plugins/dns.py:972 #, python-format msgid "" "Reverse zone for PTR record should be a sub-zone of one the following fully " "qualified domains: %s" msgstr "" -#: ipalib/plugins/dns.py:645 +#: ipalib/plugins/dns.py:977 #, python-format msgid "Reverse zone %s requires exactly %d IP address components, %d given" msgstr "" -#: ipalib/plugins/dns.py:651 -#, python-format -msgid "PTR record '%s' is not fully qualified (check trailing '.')" -msgstr "" - -#: ipalib/plugins/dns.py:820 +#: ipalib/plugins/dns.py:1149 msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:828 +#: ipalib/plugins/dns.py:1157 msgid "force NS record creation even if its hostname is not in DNS" msgstr "" -#: ipalib/plugins/dns.py:881 +#: ipalib/plugins/dns.py:1210 msgid "Modify a DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:921 +#: ipalib/plugins/dns.py:1250 #, python-format msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:928 +#: ipalib/plugins/dns.py:1257 msgid "Delete DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:930 +#: ipalib/plugins/dns.py:1259 msgid "" "Neither --del-all nor options to delete a specific record provided.\n" "Command help may be consulted for all supported record types." msgstr "" -#: ipalib/plugins/dns.py:935 +#: ipalib/plugins/dns.py:1264 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:962 +#: ipalib/plugins/dns.py:1291 msgid "No option to delete specific record provided." msgstr "" -#: ipalib/plugins/dns.py:963 +#: ipalib/plugins/dns.py:1292 msgid "Delete all?" msgstr "" -#: ipalib/plugins/dns.py:973 +#: ipalib/plugins/dns.py:1302 msgid "Current DNS record contents:\n" msgstr "" -#: ipalib/plugins/dns.py:987 +#: ipalib/plugins/dns.py:1316 #, python-format msgid "Delete %s '%s'?" msgstr "" -#: ipalib/plugins/dns.py:1002 +#: ipalib/plugins/dns.py:1331 #, python-format msgid "%s record with value %s not found" msgstr "" -#: ipalib/plugins/dns.py:1016 +#: ipalib/plugins/dns.py:1345 msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/dns.py:1031 +#: ipalib/plugins/dns.py:1360 msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/dns.py:1057 +#: ipalib/plugins/dns.py:1386 msgid "Resolve a host name in DNS." msgstr "" -#: ipalib/plugins/dns.py:1060 +#: ipalib/plugins/dns.py:1389 #, python-format msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:1064 +#: ipalib/plugins/dns.py:1393 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:1086 +#: ipalib/plugins/dns.py:1415 #, python-format msgid "Host '%(host)s' not found" msgstr "" @@ -2676,7 +2955,7 @@ msgstr "" #: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:304 #: ipalib/plugins/entitle.py:384 ipalib/plugins/entitle.py:570 -#: ipalib/plugins/entitle.py:683 ipalib/plugins/internal.py:286 +#: ipalib/plugins/entitle.py:683 ipalib/plugins/internal.py:331 msgid "Product" msgstr "" @@ -2688,7 +2967,7 @@ msgstr "" #: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:307 #: ipalib/plugins/entitle.py:576 ipalib/plugins/entitle.py:686 -#: ipalib/plugins/internal.py:277 +#: ipalib/plugins/internal.py:322 msgid "Consumed" msgstr "" @@ -2705,16 +2984,16 @@ msgstr "" msgid "Retrieve the entitlement certs." msgstr "" -#: ipalib/plugins/entitle.py:390 ipalib/plugins/internal.py:289 +#: ipalib/plugins/entitle.py:390 ipalib/plugins/internal.py:334 msgid "Start" msgstr "" -#: ipalib/plugins/entitle.py:393 ipalib/plugins/internal.py:280 +#: ipalib/plugins/entitle.py:393 ipalib/plugins/internal.py:325 msgid "End" msgstr "" -#: ipalib/plugins/entitle.py:396 ipalib/plugins/host.py:175 -#: ipalib/plugins/internal.py:244 ipalib/plugins/service.py:94 +#: ipalib/plugins/entitle.py:396 ipalib/plugins/host.py:178 +#: ipalib/plugins/internal.py:289 ipalib/plugins/service.py:97 msgid "Serial Number" msgstr "" @@ -2770,8 +3049,8 @@ msgid "" "\n" "Manage groups of users. By default, new groups are POSIX groups. You\n" "can add the --nonposix option to the group-add command to mark a new group\n" -"as non-POSIX, and you can use the same argument to the group-mod command\n" -"to convert a non-POSIX group to a POSIX group. POSIX groups cannot be\n" +"as non-POSIX. You can use the --posix argument with the group-mod command\n" +"to convert a non-POSIX group into a POSIX group. POSIX groups cannot be\n" "converted to non-POSIX groups.\n" "\n" "Every group must have a description.\n" @@ -2824,7 +3103,7 @@ msgid "groups" msgstr "" #: ipalib/plugins/group.py:100 ipalib/plugins/hbacrule.py:192 -#: ipalib/plugins/sudorule.py:144 +#: ipalib/plugins/selinuxusermap.py:179 ipalib/plugins/sudorule.py:144 msgid "User Groups" msgstr "" @@ -2840,7 +3119,7 @@ msgstr "" msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:120 ipalib/plugins/user.py:243 +#: ipalib/plugins/group.py:120 ipalib/plugins/user.py:264 msgid "GID" msgstr "" @@ -2883,51 +3162,51 @@ msgstr "" msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:211 +#: ipalib/plugins/group.py:222 msgid "Search for groups." msgstr "" -#: ipalib/plugins/group.py:216 +#: ipalib/plugins/group.py:227 #, python-format msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:222 +#: ipalib/plugins/group.py:233 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:252 +#: ipalib/plugins/group.py:263 msgid "Display information about a named group." msgstr "" -#: ipalib/plugins/group.py:258 +#: ipalib/plugins/group.py:269 msgid "Add members to a group." msgstr "" -#: ipalib/plugins/group.py:264 +#: ipalib/plugins/group.py:275 msgid "Remove members from a group." msgstr "" -#: ipalib/plugins/group.py:270 +#: ipalib/plugins/group.py:281 msgid "Detach a managed group from a user." msgstr "" -#: ipalib/plugins/group.py:273 +#: ipalib/plugins/group.py:284 #, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:294 +#: ipalib/plugins/group.py:305 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:300 +#: ipalib/plugins/group.py:311 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:319 +#: ipalib/plugins/group.py:330 msgid "Not a managed group" msgstr "" @@ -3002,11 +3281,12 @@ msgstr "" msgid "HBAC Rules" msgstr "" -#: ipalib/plugins/hbacrule.py:132 +#: ipalib/plugins/hbacrule.py:132 ipalib/plugins/selinuxusermap.py:151 msgid "HBAC Rule" msgstr "" -#: ipalib/plugins/hbacrule.py:137 ipalib/plugins/sudorule.py:98 +#: ipalib/plugins/hbacrule.py:137 ipalib/plugins/selinuxusermap.py:142 +#: ipalib/plugins/sudorule.py:98 msgid "Rule name" msgstr "" @@ -3019,22 +3299,22 @@ msgid "Rule type" msgstr "" #: ipalib/plugins/hbacrule.py:153 ipalib/plugins/netgroup.py:126 -#: ipalib/plugins/sudorule.py:111 +#: ipalib/plugins/selinuxusermap.py:156 ipalib/plugins/sudorule.py:111 msgid "User category" msgstr "" #: ipalib/plugins/hbacrule.py:154 ipalib/plugins/netgroup.py:127 -#: ipalib/plugins/sudorule.py:112 +#: ipalib/plugins/selinuxusermap.py:157 ipalib/plugins/sudorule.py:112 msgid "User category the rule applies to" msgstr "" #: ipalib/plugins/hbacrule.py:159 ipalib/plugins/netgroup.py:132 -#: ipalib/plugins/sudorule.py:117 +#: ipalib/plugins/selinuxusermap.py:162 ipalib/plugins/sudorule.py:117 msgid "Host category" msgstr "" #: ipalib/plugins/hbacrule.py:160 ipalib/plugins/netgroup.py:133 -#: ipalib/plugins/sudorule.py:118 +#: ipalib/plugins/selinuxusermap.py:163 ipalib/plugins/sudorule.py:118 msgid "Host category the rule applies to" msgstr "" @@ -3054,22 +3334,23 @@ msgstr "" msgid "Service category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:184 ipalib/plugins/sudorule.py:106 +#: ipalib/plugins/hbacrule.py:184 ipalib/plugins/selinuxusermap.py:171 +#: ipalib/plugins/sudorule.py:106 msgid "Enabled" msgstr "" -#: ipalib/plugins/hbacrule.py:188 ipalib/plugins/sudorule.py:140 -#: ipalib/plugins/user.py:162 +#: ipalib/plugins/hbacrule.py:188 ipalib/plugins/selinuxusermap.py:175 +#: ipalib/plugins/sudorule.py:140 ipalib/plugins/user.py:173 msgid "Users" msgstr "" -#: ipalib/plugins/hbacrule.py:196 ipalib/plugins/host.py:245 -#: ipalib/plugins/sudorule.py:148 +#: ipalib/plugins/hbacrule.py:196 ipalib/plugins/host.py:248 +#: ipalib/plugins/selinuxusermap.py:183 ipalib/plugins/sudorule.py:148 msgid "Hosts" msgstr "" #: ipalib/plugins/hbacrule.py:200 ipalib/plugins/hostgroup.py:74 -#: ipalib/plugins/sudorule.py:152 +#: ipalib/plugins/selinuxusermap.py:187 ipalib/plugins/sudorule.py:152 msgid "Host Groups" msgstr "" @@ -3081,8 +3362,8 @@ msgstr "" msgid "Source Host Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:212 ipalib/plugins/internal.py:316 -#: ipalib/plugins/service.py:219 +#: ipalib/plugins/hbacrule.py:212 ipalib/plugins/internal.py:359 +#: ipalib/plugins/service.py:222 msgid "Services" msgstr "" @@ -3108,81 +3389,81 @@ msgstr "" msgid "Deleted HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:246 +#: ipalib/plugins/hbacrule.py:254 msgid "Modify an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:248 +#: ipalib/plugins/hbacrule.py:256 #, python-format msgid "Modified HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:270 +#: ipalib/plugins/hbacrule.py:278 msgid "Search for HBAC rules." msgstr "" -#: ipalib/plugins/hbacrule.py:273 +#: ipalib/plugins/hbacrule.py:281 #, python-format msgid "%(count)d HBAC rule matched" msgid_plural "%(count)d HBAC rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacrule.py:280 +#: ipalib/plugins/hbacrule.py:288 msgid "Display the properties of an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:286 +#: ipalib/plugins/hbacrule.py:294 msgid "Enable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:288 +#: ipalib/plugins/hbacrule.py:296 #, python-format msgid "Enabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:313 +#: ipalib/plugins/hbacrule.py:321 msgid "Disable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:315 +#: ipalib/plugins/hbacrule.py:323 #, python-format msgid "Disabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:347 ipalib/plugins/hbacrule.py:387 +#: ipalib/plugins/hbacrule.py:355 ipalib/plugins/hbacrule.py:395 msgid "Access time" msgstr "" -#: ipalib/plugins/hbacrule.py:421 +#: ipalib/plugins/hbacrule.py:429 msgid "Add users and groups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:440 +#: ipalib/plugins/hbacrule.py:448 msgid "Remove users and groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:449 +#: ipalib/plugins/hbacrule.py:457 msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:468 +#: ipalib/plugins/hbacrule.py:476 msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:477 +#: ipalib/plugins/hbacrule.py:485 msgid "Add source hosts and hostgroups from a HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:524 +#: ipalib/plugins/hbacrule.py:532 msgid "Remove source hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:558 +#: ipalib/plugins/hbacrule.py:566 msgid "Add services to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:577 +#: ipalib/plugins/hbacrule.py:585 msgid "Remove service and service groups from an HBAC rule." msgstr "" @@ -3389,21 +3670,21 @@ msgid "" "\n" "HBAC rules control who can access what services on what hosts and from " "where.\n" -"You can use HBAC to control which users or groups on a source host can\n" -"access a service, or group of services, on a target host.\n" +"You can use HBAC to control which users or groups can access a service,\n" +"or group of services, on a target host.\n" "\n" "Since applying HBAC rules implies use of a production environment,\n" "this plugin aims to provide simulation of HBAC rules evaluation without\n" "having access to the production environment.\n" "\n" -" Test user coming from source host to a service on a named host against\n" +" Test user coming to a service on a named host against\n" " existing enabled rules.\n" "\n" -" ipa hbactest --user= --srchost= --host= --service=\n" +" ipa hbactest --user= --host= --service=\n" " [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" +" [--srchost= ]\n" "\n" -" --user, --srchost, --host, and --service are mandatory, others are " -"optional.\n" +" --user, --host, and --service are mandatory, others are optional.\n" "\n" " If --rules is specified simulate enabling of the specified rules and test\n" " the login of the user using only these rules.\n" @@ -3423,10 +3704,13 @@ msgid "" "\n" " If no --rules specified, simulation is run against all IPA enabled rules.\n" "\n" +" If --srchost is specified, it will be ignored. It is left because of " +"compatibility reasons only.\n" +"\n" "EXAMPLES:\n" "\n" " 1. Use all enabled HBAC rules in IPA database to simulate:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" " --------------------\n" " Access granted: True\n" " --------------------\n" @@ -3436,15 +3720,14 @@ msgid "" " matched: allow_all\n" "\n" " 2. Disable detailed summary of how rules were applied:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd --" -"nodetail\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" " --------------------\n" " Access granted: True\n" " --------------------\n" "\n" " 3. Test explicitly specified HBAC rules:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --" -"service=sshd --rules=my-second-rule,myrule\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-" +"second-rule,myrule\n" " ---------------------\n" " Access granted: False\n" " ---------------------\n" @@ -3453,8 +3736,8 @@ msgid "" "\n" " 4. Use all enabled HBAC rules in IPA database + explicitly specified " "rules:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --" -"service=sshd --rules=my-second-rule,myrule --enabled\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-" +"second-rule,myrule --enabled\n" " --------------------\n" " Access granted: True\n" " --------------------\n" @@ -3464,8 +3747,7 @@ msgid "" " matched: allow_all\n" "\n" " 5. Test all disabled HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd --" -"disabled\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" " ---------------------\n" " Access granted: False\n" " ---------------------\n" @@ -3473,8 +3755,8 @@ msgid "" "\n" " 6. Test all disabled HBAC rules in IPA database + explicitly specified " "rules:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --" -"service=sshd --rules=my-second-rule,myrule --disabled\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-" +"second-rule,myrule --disabled\n" " ---------------------\n" " Access granted: False\n" " ---------------------\n" @@ -3483,8 +3765,8 @@ msgid "" " notmatched: myrule\n" "\n" " 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --srchost=foo --host=bar --" -"service=sshd --enabled --disabled\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled " +"--disabled\n" " --------------------\n" " Access granted: True\n" " --------------------\n" @@ -3496,65 +3778,69 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/hbactest.py:161 +#: ipalib/plugins/hbactest.py:165 msgid "Simulate use of Host-based access controls" msgstr "" -#: ipalib/plugins/hbactest.py:165 +#: ipalib/plugins/hbactest.py:169 +msgid "Warning" +msgstr "" + +#: ipalib/plugins/hbactest.py:170 msgid "Matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:166 +#: ipalib/plugins/hbactest.py:171 msgid "Not matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:167 +#: ipalib/plugins/hbactest.py:172 msgid "Non-existent or invalid rules" msgstr "" -#: ipalib/plugins/hbactest.py:168 +#: ipalib/plugins/hbactest.py:173 msgid "Result of simulation" msgstr "" -#: ipalib/plugins/hbactest.py:174 ipalib/plugins/krbtpolicy.py:85 +#: ipalib/plugins/hbactest.py:179 ipalib/plugins/krbtpolicy.py:85 #: ipalib/plugins/passwd.py:69 msgid "User name" msgstr "" -#: ipalib/plugins/hbactest.py:179 +#: ipalib/plugins/hbactest.py:184 msgid "Source host" msgstr "" -#: ipalib/plugins/hbactest.py:183 +#: ipalib/plugins/hbactest.py:188 msgid "Target host" msgstr "" -#: ipalib/plugins/hbactest.py:187 ipalib/plugins/internal.py:378 -#: ipalib/plugins/service.py:220 +#: ipalib/plugins/hbactest.py:192 ipalib/plugins/internal.py:430 +#: ipalib/plugins/service.py:223 msgid "Service" msgstr "" -#: ipalib/plugins/hbactest.py:191 +#: ipalib/plugins/hbactest.py:196 msgid "Rules to test. If not specified, --enabled is assumed" msgstr "" -#: ipalib/plugins/hbactest.py:195 +#: ipalib/plugins/hbactest.py:201 msgid "Hide details which rules are matched, not matched, or invalid" msgstr "" -#: ipalib/plugins/hbactest.py:199 +#: ipalib/plugins/hbactest.py:205 msgid "Include all enabled IPA rules into test [default]" msgstr "" -#: ipalib/plugins/hbactest.py:203 +#: ipalib/plugins/hbactest.py:209 msgid "Include all disabled IPA rules into test" msgstr "" -#: ipalib/plugins/hbactest.py:265 +#: ipalib/plugins/hbactest.py:271 msgid "Unresolved rules in --rules" msgstr "" -#: ipalib/plugins/hbactest.py:341 +#: ipalib/plugins/hbactest.py:354 #, python-format msgid "Access granted: %s" msgstr "" @@ -3625,185 +3911,189 @@ msgstr "" msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "" -#: ipalib/plugins/host.py:204 +#: ipalib/plugins/host.py:166 ipalib/plugins/service.py:88 +msgid "Keytab" +msgstr "" + +#: ipalib/plugins/host.py:207 msgid "invalid IP address" msgstr "" -#: ipalib/plugins/host.py:213 +#: ipalib/plugins/host.py:216 msgid "host" msgstr "" -#: ipalib/plugins/host.py:214 +#: ipalib/plugins/host.py:217 msgid "hosts" msgstr "" -#: ipalib/plugins/host.py:246 +#: ipalib/plugins/host.py:249 msgid "Host" msgstr "" -#: ipalib/plugins/host.py:254 +#: ipalib/plugins/host.py:257 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:261 +#: ipalib/plugins/host.py:264 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:265 +#: ipalib/plugins/host.py:268 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:266 +#: ipalib/plugins/host.py:269 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:271 +#: ipalib/plugins/host.py:274 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:275 +#: ipalib/plugins/host.py:278 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:276 +#: ipalib/plugins/host.py:279 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:280 +#: ipalib/plugins/host.py:283 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:281 +#: ipalib/plugins/host.py:284 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:285 +#: ipalib/plugins/host.py:288 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:286 +#: ipalib/plugins/host.py:289 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:289 +#: ipalib/plugins/host.py:292 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:294 +#: ipalib/plugins/host.py:297 ipalib/plugins/user.py:252 msgid "Random password" msgstr "" -#: ipalib/plugins/host.py:300 ipalib/plugins/service.py:233 +#: ipalib/plugins/host.py:303 ipalib/plugins/service.py:236 msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/host.py:303 ipalib/plugins/host.py:620 +#: ipalib/plugins/host.py:306 ipalib/plugins/host.py:621 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:363 +#: ipalib/plugins/host.py:366 msgid "Add a new host." msgstr "" -#: ipalib/plugins/host.py:366 +#: ipalib/plugins/host.py:369 #, python-format msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:371 +#: ipalib/plugins/host.py:374 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:374 +#: ipalib/plugins/host.py:377 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:377 +#: ipalib/plugins/host.py:380 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:378 +#: ipalib/plugins/host.py:381 msgid "IP Address" msgstr "" -#: ipalib/plugins/host.py:394 ipalib/plugins/host.py:551 +#: ipalib/plugins/host.py:397 ipalib/plugins/host.py:552 #, python-format msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/host.py:480 +#: ipalib/plugins/host.py:481 #, python-format msgid "The host was added but the DNS update failed with: %(exc)s" msgstr "" -#: ipalib/plugins/host.py:498 +#: ipalib/plugins/host.py:499 msgid "Delete a host." msgstr "" -#: ipalib/plugins/host.py:500 +#: ipalib/plugins/host.py:501 #, python-format msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:505 +#: ipalib/plugins/host.py:506 msgid "Remove entries from DNS" msgstr "" -#: ipalib/plugins/host.py:611 +#: ipalib/plugins/host.py:612 msgid "Modify information about a host." msgstr "" -#: ipalib/plugins/host.py:614 +#: ipalib/plugins/host.py:615 #, python-format msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:621 +#: ipalib/plugins/host.py:622 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:633 +#: ipalib/plugins/host.py:634 msgid "Password cannot be set on enrolled host." msgstr "" -#: ipalib/plugins/host.py:709 +#: ipalib/plugins/host.py:708 msgid "Search for hosts." msgstr "" -#: ipalib/plugins/host.py:713 +#: ipalib/plugins/host.py:712 #, python-format msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:741 +#: ipalib/plugins/host.py:742 msgid "Display information about a host." msgstr "" -#: ipalib/plugins/host.py:746 ipalib/plugins/service.py:390 +#: ipalib/plugins/host.py:747 ipalib/plugins/service.py:396 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:774 ipalib/plugins/service.py:407 +#: ipalib/plugins/host.py:775 ipalib/plugins/service.py:414 #, python-format msgid "Certificate stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/host.py:785 +#: ipalib/plugins/host.py:786 msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" -#: ipalib/plugins/host.py:788 +#: ipalib/plugins/host.py:789 #, python-format msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:875 +#: ipalib/plugins/host.py:876 msgid "Add hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:889 +#: ipalib/plugins/host.py:890 msgid "Remove hosts that can manage this host." msgstr "" @@ -3908,35 +4198,43 @@ msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hostgroup.py:189 +#: ipalib/plugins/hostgroup.py:191 msgid "Display information about a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:199 +#: ipalib/plugins/hostgroup.py:201 msgid "Add members to a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:209 +#: ipalib/plugins/hostgroup.py:211 msgid "Remove members from a hostgroup." msgstr "" -#: ipalib/plugins/internal.py:44 +#: ipalib/plugins/internal.py:44 ipalib/plugins/internal.py:53 msgid "Name of object to export" msgstr "" -#: ipalib/plugins/internal.py:47 +#: ipalib/plugins/internal.py:47 ipalib/plugins/internal.py:56 msgid "Name of method to export" msgstr "" -#: ipalib/plugins/internal.py:52 +#: ipalib/plugins/internal.py:59 +msgid "Name of command to export" +msgstr "" + +#: ipalib/plugins/internal.py:64 msgid "Dict of JSON encoded IPA Objects" msgstr "" -#: ipalib/plugins/internal.py:53 +#: ipalib/plugins/internal.py:65 msgid "Dict of JSON encoded IPA Methods" msgstr "" -#: ipalib/plugins/internal.py:102 +#: ipalib/plugins/internal.py:66 +msgid "Dict of JSON encoded IPA Commands" +msgstr "" + +#: ipalib/plugins/internal.py:147 msgid "" "Your Kerberos ticket is no longer valid. Please run kinit and then click " "'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/" @@ -3944,1010 +4242,1050 @@ msgid "" "browser." msgstr "" -#: ipalib/plugins/internal.py:103 +#: ipalib/plugins/internal.py:148 msgid "Kerberos ticket no longer valid." msgstr "" -#: ipalib/plugins/internal.py:108 +#: ipalib/plugins/internal.py:153 msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:109 +#: ipalib/plugins/internal.py:154 msgid "Add RunAs Groups into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:110 +#: ipalib/plugins/internal.py:155 msgid "Add ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:111 +#: ipalib/plugins/internal.py:156 msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:112 +#: ipalib/plugins/internal.py:157 msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:113 +#: ipalib/plugins/internal.py:158 msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:114 +#: ipalib/plugins/internal.py:159 msgid "Add ${entity} ${primary_key} into ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:115 +#: ipalib/plugins/internal.py:160 msgid "Add Source ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:117 -msgid "Direct Enrollment" +#: ipalib/plugins/internal.py:162 +msgid "Direct Membership" msgstr "" -#: ipalib/plugins/internal.py:118 -msgid "Indirect Enrollment" +#: ipalib/plugins/internal.py:163 +msgid "Indirect Membership" msgstr "" -#: ipalib/plugins/internal.py:119 +#: ipalib/plugins/internal.py:164 msgid "No entries." msgstr "" -#: ipalib/plugins/internal.py:120 +#: ipalib/plugins/internal.py:165 msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/internal.py:122 +#: ipalib/plugins/internal.py:167 msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:123 +#: ipalib/plugins/internal.py:168 msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:124 +#: ipalib/plugins/internal.py:169 msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:125 +#: ipalib/plugins/internal.py:170 msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:126 +#: ipalib/plugins/internal.py:171 msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:127 +#: ipalib/plugins/internal.py:172 msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:128 +#: ipalib/plugins/internal.py:173 msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:129 +#: ipalib/plugins/internal.py:174 msgid "Remove Source ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:131 +#: ipalib/plugins/internal.py:176 msgid "Show Results" msgstr "" -#: ipalib/plugins/internal.py:134 +#: ipalib/plugins/internal.py:179 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:135 +#: ipalib/plugins/internal.py:180 msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:136 +#: ipalib/plugins/internal.py:181 msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:137 +#: ipalib/plugins/internal.py:182 msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:138 +#: ipalib/plugins/internal.py:183 msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:139 +#: ipalib/plugins/internal.py:184 msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:140 +#: ipalib/plugins/internal.py:185 msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:141 -msgid "Enroll" -msgstr "" - -#: ipalib/plugins/internal.py:142 +#: ipalib/plugins/internal.py:186 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:143 +#: ipalib/plugins/internal.py:187 msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:144 +#: ipalib/plugins/internal.py:188 msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:145 +#: ipalib/plugins/internal.py:189 msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:146 +#: ipalib/plugins/internal.py:190 msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:147 +#: ipalib/plugins/internal.py:191 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:148 +#: ipalib/plugins/internal.py:192 msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:149 +#: ipalib/plugins/internal.py:193 msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:150 +#: ipalib/plugins/internal.py:194 msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:151 +#: ipalib/plugins/internal.py:195 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:152 +#: ipalib/plugins/internal.py:196 msgid "View" msgstr "" -#: ipalib/plugins/internal.py:155 +#: ipalib/plugins/internal.py:199 msgid "Collapse All" msgstr "" -#: ipalib/plugins/internal.py:156 +#: ipalib/plugins/internal.py:200 msgid "Expand All" msgstr "" -#: ipalib/plugins/internal.py:157 +#: ipalib/plugins/internal.py:201 msgid "General" msgstr "" -#: ipalib/plugins/internal.py:158 +#: ipalib/plugins/internal.py:202 msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:159 +#: ipalib/plugins/internal.py:203 msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:160 +#: ipalib/plugins/internal.py:204 msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:163 +#: ipalib/plugins/internal.py:207 +msgid "${entity} successfully added" +msgstr "" + +#: ipalib/plugins/internal.py:208 msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/internal.py:164 +#: ipalib/plugins/internal.py:209 msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:165 +#: ipalib/plugins/internal.py:210 msgid "Some operations failed." msgstr "" -#: ipalib/plugins/internal.py:166 +#: ipalib/plugins/internal.py:211 msgid "Operations Error" msgstr "" -#: ipalib/plugins/internal.py:167 +#: ipalib/plugins/internal.py:212 msgid "Confirmation" msgstr "" -#: ipalib/plugins/internal.py:168 +#: ipalib/plugins/internal.py:213 msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:169 +#: ipalib/plugins/internal.py:214 msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/internal.py:170 +#: ipalib/plugins/internal.py:215 msgid "Hide details" msgstr "" -#: ipalib/plugins/internal.py:171 +#: ipalib/plugins/internal.py:216 msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:172 +#: ipalib/plugins/internal.py:217 msgid "Redirection" msgstr "" -#: ipalib/plugins/internal.py:173 +#: ipalib/plugins/internal.py:218 msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/internal.py:174 +#: ipalib/plugins/internal.py:219 msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/internal.py:175 +#: ipalib/plugins/internal.py:220 msgid "Show details" msgstr "" -#: ipalib/plugins/internal.py:176 +#: ipalib/plugins/internal.py:221 msgid "Validation error" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipalib/plugins/internal.py:222 msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/internal.py:181 +#: ipalib/plugins/internal.py:226 msgid "HTTP Error" msgstr "" -#: ipalib/plugins/internal.py:182 +#: ipalib/plugins/internal.py:227 msgid "Internal Error" msgstr "" -#: ipalib/plugins/internal.py:183 +#: ipalib/plugins/internal.py:228 msgid "IPA Error" msgstr "" -#: ipalib/plugins/internal.py:184 +#: ipalib/plugins/internal.py:229 msgid "No response" msgstr "" -#: ipalib/plugins/internal.py:185 +#: ipalib/plugins/internal.py:230 msgid "Unknown Error" msgstr "" -#: ipalib/plugins/internal.py:186 +#: ipalib/plugins/internal.py:231 msgid "URL" msgstr "" -#: ipalib/plugins/internal.py:189 +#: ipalib/plugins/internal.py:234 msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/internal.py:190 -msgid "Entities enrolled in ${primary_key}:" +#: ipalib/plugins/internal.py:235 +msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/internal.py:191 -msgid "${primary_key} is a member of these:" +#: ipalib/plugins/internal.py:236 +msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/internal.py:194 +#: ipalib/plugins/internal.py:239 msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:195 +#: ipalib/plugins/internal.py:240 msgid "Search" msgstr "" -#: ipalib/plugins/internal.py:197 +#: ipalib/plugins/internal.py:242 msgid "False" msgstr "" -#: ipalib/plugins/internal.py:199 +#: ipalib/plugins/internal.py:244 msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:203 +#: ipalib/plugins/internal.py:248 msgid "Attribute" msgstr "" -#: ipalib/plugins/internal.py:208 +#: ipalib/plugins/internal.py:253 msgid "Automount Location Settings" msgstr "" -#: ipalib/plugins/internal.py:211 +#: ipalib/plugins/internal.py:256 msgid "Map Type" msgstr "" -#: ipalib/plugins/internal.py:212 +#: ipalib/plugins/internal.py:257 msgid "Direct" msgstr "" -#: ipalib/plugins/internal.py:213 +#: ipalib/plugins/internal.py:258 msgid "Indirect" msgstr "" -#: ipalib/plugins/internal.py:216 +#: ipalib/plugins/internal.py:261 msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:217 +#: ipalib/plugins/internal.py:262 msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:218 +#: ipalib/plugins/internal.py:263 msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:219 +#: ipalib/plugins/internal.py:264 msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:220 +#: ipalib/plugins/internal.py:265 msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:221 +#: ipalib/plugins/internal.py:266 msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:222 +#: ipalib/plugins/internal.py:267 msgid "Enter the Base64-encoded CSR below" msgstr "" -#: ipalib/plugins/internal.py:223 +#: ipalib/plugins/internal.py:268 msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:224 +#: ipalib/plugins/internal.py:269 msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:225 +#: ipalib/plugins/internal.py:270 msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:226 +#: ipalib/plugins/internal.py:271 msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipalib/plugins/internal.py:272 msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:228 +#: ipalib/plugins/internal.py:273 msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipalib/plugins/internal.py:274 msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:230 +#: ipalib/plugins/internal.py:275 msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:231 +#: ipalib/plugins/internal.py:276 msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:232 +#: ipalib/plugins/internal.py:277 msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:233 +#: ipalib/plugins/internal.py:278 msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:234 +#: ipalib/plugins/internal.py:279 msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:235 +#: ipalib/plugins/internal.py:280 msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:236 +#: ipalib/plugins/internal.py:281 msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:237 +#: ipalib/plugins/internal.py:282 msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:238 +#: ipalib/plugins/internal.py:283 msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:239 +#: ipalib/plugins/internal.py:284 msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:240 +#: ipalib/plugins/internal.py:285 msgid "" "To confirm your intention to restore this certificate, click the \"Restore\" " "button." msgstr "" -#: ipalib/plugins/internal.py:241 +#: ipalib/plugins/internal.py:286 msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:242 +#: ipalib/plugins/internal.py:287 msgid "" "To confirm your intention to revoke this certificate, select a reason from " "the pull-down list, and click the \"Revoke\" button." msgstr "" -#: ipalib/plugins/internal.py:243 +#: ipalib/plugins/internal.py:288 msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:245 +#: ipalib/plugins/internal.py:290 msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:246 +#: ipalib/plugins/internal.py:291 msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:247 +#: ipalib/plugins/internal.py:292 msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:248 +#: ipalib/plugins/internal.py:293 msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:249 +#: ipalib/plugins/internal.py:294 msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:250 +#: ipalib/plugins/internal.py:295 msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:253 +#: ipalib/plugins/internal.py:298 msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:254 +#: ipalib/plugins/internal.py:299 msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:255 +#: ipalib/plugins/internal.py:300 msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:260 +#: ipalib/plugins/internal.py:305 msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:261 +#: ipalib/plugins/internal.py:306 msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:262 +#: ipalib/plugins/internal.py:307 msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:263 +#: ipalib/plugins/internal.py:308 msgid "You will be redirected to DNS Zone." msgstr "" -#: ipalib/plugins/internal.py:264 +#: ipalib/plugins/internal.py:309 msgid "Standard Record Types" msgstr "" -#: ipalib/plugins/internal.py:265 +#: ipalib/plugins/internal.py:310 msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:266 +#: ipalib/plugins/internal.py:311 msgid "Record Type" msgstr "" -#: ipalib/plugins/internal.py:269 +#: ipalib/plugins/internal.py:314 msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:272 +#: ipalib/plugins/internal.py:317 msgid "Account" msgstr "" -#: ipalib/plugins/internal.py:274 +#: ipalib/plugins/internal.py:319 msgid "Certificates" msgstr "" -#: ipalib/plugins/internal.py:275 +#: ipalib/plugins/internal.py:320 msgid "Consume" msgstr "" -#: ipalib/plugins/internal.py:276 +#: ipalib/plugins/internal.py:321 msgid "Consume Entitlement" msgstr "" -#: ipalib/plugins/internal.py:278 +#: ipalib/plugins/internal.py:323 msgid "Download" msgstr "" -#: ipalib/plugins/internal.py:279 +#: ipalib/plugins/internal.py:324 msgid "Download Certificate" msgstr "" -#: ipalib/plugins/internal.py:281 +#: ipalib/plugins/internal.py:326 msgid "Import" msgstr "" -#: ipalib/plugins/internal.py:282 +#: ipalib/plugins/internal.py:327 msgid "Import Certificate" msgstr "" -#: ipalib/plugins/internal.py:283 +#: ipalib/plugins/internal.py:328 msgid "Enter the Base64-encoded entitlement certificate below:" msgstr "" -#: ipalib/plugins/internal.py:284 +#: ipalib/plugins/internal.py:329 msgid "Loading..." msgstr "" -#: ipalib/plugins/internal.py:285 +#: ipalib/plugins/internal.py:330 msgid "No Certificate." msgstr "" -#: ipalib/plugins/internal.py:287 +#: ipalib/plugins/internal.py:332 msgid "Register" msgstr "" -#: ipalib/plugins/internal.py:288 +#: ipalib/plugins/internal.py:333 msgid "Registration" msgstr "" -#: ipalib/plugins/internal.py:290 ipalib/plugins/internal.py:336 -#: ipalib/plugins/internal.py:379 +#: ipalib/plugins/internal.py:335 ipalib/plugins/internal.py:392 +#: ipalib/plugins/internal.py:431 msgid "Status" msgstr "" -#: ipalib/plugins/internal.py:293 +#: ipalib/plugins/internal.py:338 msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:294 +#: ipalib/plugins/internal.py:339 msgid "Is this a POSIX group?" msgstr "" -#: ipalib/plugins/internal.py:297 ipalib/plugins/internal.py:392 -#: ipalib/plugins/internal.py:418 +#: ipalib/plugins/internal.py:342 ipalib/plugins/internal.py:444 +#: ipalib/plugins/internal.py:470 msgid "Active" msgstr "" -#: ipalib/plugins/internal.py:298 ipalib/plugins/internal.py:393 -msgid "Allow" -msgstr "" - -#: ipalib/plugins/internal.py:299 ipalib/plugins/internal.py:396 +#: ipalib/plugins/internal.py:343 ipalib/plugins/internal.py:448 msgid "Any Host" msgstr "" -#: ipalib/plugins/internal.py:300 +#: ipalib/plugins/internal.py:344 msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:301 ipalib/plugins/internal.py:397 +#: ipalib/plugins/internal.py:345 ipalib/plugins/internal.py:449 msgid "Anyone" msgstr "" -#: ipalib/plugins/internal.py:302 ipalib/plugins/internal.py:399 -msgid "Deny" -msgstr "" - -#: ipalib/plugins/internal.py:303 +#: ipalib/plugins/internal.py:346 msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:304 ipalib/plugins/internal.py:402 -#: ipalib/plugins/internal.py:423 +#: ipalib/plugins/internal.py:347 ipalib/plugins/internal.py:454 +#: ipalib/plugins/internal.py:475 msgid "Inactive" msgstr "" -#: ipalib/plugins/internal.py:305 ipalib/plugins/internal.py:403 +#: ipalib/plugins/internal.py:348 ipalib/plugins/internal.py:455 msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:306 +#: ipalib/plugins/internal.py:349 msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:307 +#: ipalib/plugins/internal.py:350 msgid "From" msgstr "" -#: ipalib/plugins/internal.py:308 ipalib/plugins/internal.py:408 +#: ipalib/plugins/internal.py:351 ipalib/plugins/internal.py:460 msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:309 +#: ipalib/plugins/internal.py:352 msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:310 ipalib/plugins/internal.py:409 +#: ipalib/plugins/internal.py:353 ipalib/plugins/internal.py:461 msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:311 ipalib/plugins/internal.py:410 +#: ipalib/plugins/internal.py:354 ipalib/plugins/internal.py:462 msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:319 +#: ipalib/plugins/internal.py:362 +msgid "Access Denied" +msgstr "" + +#: ipalib/plugins/internal.py:363 +msgid "Access Granted" +msgstr "" + +#: ipalib/plugins/internal.py:364 +msgid "Include Disabled" +msgstr "" + +#: ipalib/plugins/internal.py:365 +msgid "Include Enabled" +msgstr "" + +#: ipalib/plugins/internal.py:366 +msgid "HBAC Test" +msgstr "" + +#: ipalib/plugins/internal.py:367 +msgid "Matched" +msgstr "" + +#: ipalib/plugins/internal.py:368 +msgid "New Test" +msgstr "" + +#: ipalib/plugins/internal.py:369 +msgid "Rules" +msgstr "" + +#: ipalib/plugins/internal.py:370 +msgid "Run Test" +msgstr "" + +#: ipalib/plugins/internal.py:371 +msgid "Specify external ${entity}" +msgstr "" + +#: ipalib/plugins/internal.py:372 +msgid "Unmatched" +msgstr "" + +#: ipalib/plugins/internal.py:375 msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:320 ipalib/plugins/internal.py:375 +#: ipalib/plugins/internal.py:376 ipalib/plugins/internal.py:427 msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:321 ipalib/plugins/internal.py:373 +#: ipalib/plugins/internal.py:377 ipalib/plugins/internal.py:425 msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:322 +#: ipalib/plugins/internal.py:378 msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:323 +#: ipalib/plugins/internal.py:379 msgid "Enrolled?" msgstr "" -#: ipalib/plugins/internal.py:324 +#: ipalib/plugins/internal.py:380 msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:325 +#: ipalib/plugins/internal.py:381 msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:326 +#: ipalib/plugins/internal.py:382 msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:327 ipalib/plugins/internal.py:376 +#: ipalib/plugins/internal.py:383 ipalib/plugins/internal.py:428 msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:328 +#: ipalib/plugins/internal.py:384 msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:329 +#: ipalib/plugins/internal.py:385 msgid "One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:330 +#: ipalib/plugins/internal.py:386 msgid "One-Time-Password Not Present" msgstr "" -#: ipalib/plugins/internal.py:331 +#: ipalib/plugins/internal.py:387 msgid "One-Time-Password Present" msgstr "" -#: ipalib/plugins/internal.py:332 +#: ipalib/plugins/internal.py:388 msgid "Reset OTP" msgstr "" -#: ipalib/plugins/internal.py:333 +#: ipalib/plugins/internal.py:389 msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:334 +#: ipalib/plugins/internal.py:390 msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:335 +#: ipalib/plugins/internal.py:391 msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:337 ipalib/plugins/internal.py:380 +#: ipalib/plugins/internal.py:393 ipalib/plugins/internal.py:432 msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:338 +#: ipalib/plugins/internal.py:394 msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:339 ipalib/plugins/internal.py:382 +#: ipalib/plugins/internal.py:395 ipalib/plugins/internal.py:434 msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:342 +#: ipalib/plugins/internal.py:398 msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:345 +#: ipalib/plugins/internal.py:401 msgid "Kerberos ticket policy" msgstr "" -#: ipalib/plugins/internal.py:348 +#: ipalib/plugins/internal.py:404 msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:352 ipalib/plugins/internal.py:450 +#: ipalib/plugins/internal.py:407 ipalib/plugins/internal.py:502 msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:353 +#: ipalib/plugins/internal.py:408 msgid "Permission with invalid target specification" msgstr "" -#: ipalib/plugins/internal.py:355 -msgid "By Subtree" -msgstr "" - -#: ipalib/plugins/internal.py:356 +#: ipalib/plugins/internal.py:410 msgid "Target" msgstr "" -#: ipalib/plugins/internal.py:357 -msgid "Target Group" -msgstr "" - -#: ipalib/plugins/internal.py:358 -msgid "Object By Type" -msgstr "" - -#: ipalib/plugins/internal.py:361 +#: ipalib/plugins/internal.py:413 msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:364 ipalib/plugins/pwpolicy.py:221 +#: ipalib/plugins/internal.py:416 ipalib/plugins/pwpolicy.py:221 msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:367 +#: ipalib/plugins/internal.py:419 msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:372 +#: ipalib/plugins/internal.py:424 msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:374 +#: ipalib/plugins/internal.py:426 msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:377 +#: ipalib/plugins/internal.py:429 msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:381 +#: ipalib/plugins/internal.py:433 msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:383 +#: ipalib/plugins/internal.py:435 msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:386 +#: ipalib/plugins/internal.py:438 msgid "Groups" msgstr "" -#: ipalib/plugins/internal.py:389 ipalib/plugins/sudocmdgroup.py:82 +#: ipalib/plugins/internal.py:441 ipalib/plugins/sudocmdgroup.py:82 msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:394 +#: ipalib/plugins/internal.py:445 +msgid "Allow" +msgstr "" + +#: ipalib/plugins/internal.py:446 msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:395 +#: ipalib/plugins/internal.py:447 msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:398 +#: ipalib/plugins/internal.py:450 msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:400 +#: ipalib/plugins/internal.py:451 +msgid "Deny" +msgstr "" + +#: ipalib/plugins/internal.py:452 msgid "External" msgstr "" -#: ipalib/plugins/internal.py:401 +#: ipalib/plugins/internal.py:453 msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:404 +#: ipalib/plugins/internal.py:456 msgid "Options" msgstr "" -#: ipalib/plugins/internal.py:405 +#: ipalib/plugins/internal.py:457 msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:406 +#: ipalib/plugins/internal.py:458 msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:407 +#: ipalib/plugins/internal.py:459 msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:413 +#: ipalib/plugins/internal.py:465 msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:414 +#: ipalib/plugins/internal.py:466 msgid "Account Status" msgstr "" -#: ipalib/plugins/internal.py:415 +#: ipalib/plugins/internal.py:467 msgid "Activate" msgstr "" -#: ipalib/plugins/internal.py:416 +#: ipalib/plugins/internal.py:468 msgid "" "Are you sure you want to ${action} the user?<br/>The change will take effect " "immediately." msgstr "" -#: ipalib/plugins/internal.py:417 +#: ipalib/plugins/internal.py:469 msgid "Click to ${action}" msgstr "" -#: ipalib/plugins/internal.py:419 +#: ipalib/plugins/internal.py:471 msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:420 +#: ipalib/plugins/internal.py:472 msgid "Deactivate" msgstr "" -#: ipalib/plugins/internal.py:421 +#: ipalib/plugins/internal.py:473 msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:422 +#: ipalib/plugins/internal.py:474 msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:424 +#: ipalib/plugins/internal.py:476 msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:425 +#: ipalib/plugins/internal.py:477 msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:429 ipalib/plugins/passwd.py:79 +#: ipalib/plugins/internal.py:481 ipalib/plugins/passwd.py:79 msgid "Current Password" msgstr "" -#: ipalib/plugins/internal.py:430 +#: ipalib/plugins/internal.py:482 msgid "Current password is required" msgstr "" -#: ipalib/plugins/internal.py:431 ipalib/plugins/passwd.py:76 +#: ipalib/plugins/internal.py:483 ipalib/plugins/passwd.py:76 msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:432 +#: ipalib/plugins/internal.py:484 msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:433 +#: ipalib/plugins/internal.py:485 msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:434 +#: ipalib/plugins/internal.py:486 msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:435 +#: ipalib/plugins/internal.py:487 msgid "Verify Password" msgstr "" -#: ipalib/plugins/internal.py:438 +#: ipalib/plugins/internal.py:490 msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:439 +#: ipalib/plugins/internal.py:491 msgid "Some entries were not deleted" msgstr "" -#: ipalib/plugins/internal.py:440 +#: ipalib/plugins/internal.py:492 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:441 +#: ipalib/plugins/internal.py:493 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:442 +#: ipalib/plugins/internal.py:494 msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:443 +#: ipalib/plugins/internal.py:495 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:446 +#: ipalib/plugins/internal.py:498 msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:447 +#: ipalib/plugins/internal.py:499 msgid "Automount" msgstr "" -#: ipalib/plugins/internal.py:448 +#: ipalib/plugins/internal.py:500 msgid "DNS" msgstr "" -#: ipalib/plugins/internal.py:449 +#: ipalib/plugins/internal.py:501 msgid "Host Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:451 +#: ipalib/plugins/internal.py:503 msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:452 +#: ipalib/plugins/internal.py:504 msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:453 +#: ipalib/plugins/internal.py:505 msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:454 +#: ipalib/plugins/internal.py:506 msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:456 +#: ipalib/plugins/internal.py:508 msgid "True" msgstr "" -#: ipalib/plugins/internal.py:458 +#: ipalib/plugins/internal.py:510 msgid "Next" msgstr "" -#: ipalib/plugins/internal.py:459 -msgid "Optional field: click to show" -msgstr "" - -#: ipalib/plugins/internal.py:460 +#: ipalib/plugins/internal.py:511 msgid "Page" msgstr "" -#: ipalib/plugins/internal.py:461 +#: ipalib/plugins/internal.py:512 msgid "Prev" msgstr "" -#: ipalib/plugins/internal.py:462 +#: ipalib/plugins/internal.py:513 msgid "undo" msgstr "" -#: ipalib/plugins/internal.py:463 +#: ipalib/plugins/internal.py:514 msgid "undo all" msgstr "" -#: ipalib/plugins/internal.py:465 +#: ipalib/plugins/internal.py:516 msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:466 +#: ipalib/plugins/internal.py:517 msgid "Must be an integer" msgstr "" -#: ipalib/plugins/internal.py:467 +#: ipalib/plugins/internal.py:518 +msgid "Not a valid IP address" +msgstr "" + +#: ipalib/plugins/internal.py:519 +msgid "Not a valid IPv4 address" +msgstr "" + +#: ipalib/plugins/internal.py:520 +msgid "Not a valid IPv6 address" +msgstr "" + +#: ipalib/plugins/internal.py:521 msgid "Maximum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:468 +#: ipalib/plugins/internal.py:522 msgid "Minimum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:469 +#: ipalib/plugins/internal.py:523 msgid "Required field" msgstr "" -#: ipalib/plugins/internal.py:474 +#: ipalib/plugins/internal.py:528 msgid "Dict of I18N messages" msgstr "" @@ -5031,7 +5369,7 @@ msgstr "" msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/migration.py:35 +#: ipalib/plugins/migration.py:34 msgid "" "\n" "Migration to IPA\n" @@ -5090,77 +5428,77 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/migration.py:87 +#: ipalib/plugins/migration.py:86 #, python-format msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:88 +#: ipalib/plugins/migration.py:87 msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -#: ipalib/plugins/migration.py:89 +#: ipalib/plugins/migration.py:88 msgid "Migration of LDAP search reference is not supported." msgstr "" -#: ipalib/plugins/migration.py:90 +#: ipalib/plugins/migration.py:89 msgid "Malformed DN" msgstr "" -#: ipalib/plugins/migration.py:256 +#: ipalib/plugins/migration.py:255 msgid "" ". Check GID of the existing group. Use --group-overwrite-gid option to " "overwrite the GID" msgstr "" -#: ipalib/plugins/migration.py:271 +#: ipalib/plugins/migration.py:270 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:276 +#: ipalib/plugins/migration.py:275 msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/migration.py:323 +#: ipalib/plugins/migration.py:322 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:324 +#: ipalib/plugins/migration.py:323 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:330 +#: ipalib/plugins/migration.py:329 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:337 +#: ipalib/plugins/migration.py:336 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:343 +#: ipalib/plugins/migration.py:342 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:344 +#: ipalib/plugins/migration.py:343 msgid "RDN of container for users in DS" msgstr "" -#: ipalib/plugins/migration.py:350 +#: ipalib/plugins/migration.py:349 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:351 +#: ipalib/plugins/migration.py:350 msgid "RDN of container for groups in DS" msgstr "" -#: ipalib/plugins/migration.py:357 +#: ipalib/plugins/migration.py:356 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:358 +#: ipalib/plugins/migration.py:357 msgid "" "Comma-separated list of objectclasses used to search for user entries in DS" msgstr "" @@ -5174,99 +5512,99 @@ msgid "" "Comma-separated list of objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:371 +#: ipalib/plugins/migration.py:372 msgid "Ignore user object class" msgstr "" -#: ipalib/plugins/migration.py:372 +#: ipalib/plugins/migration.py:373 msgid "" "Comma-separated list of objectclasses to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:378 +#: ipalib/plugins/migration.py:380 msgid "Ignore user attribute" msgstr "" -#: ipalib/plugins/migration.py:379 +#: ipalib/plugins/migration.py:381 msgid "Comma-separated list of attributes to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:385 +#: ipalib/plugins/migration.py:388 msgid "Ignore group object class" msgstr "" -#: ipalib/plugins/migration.py:386 +#: ipalib/plugins/migration.py:389 msgid "" "Comma-separated list of objectclasses to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:392 +#: ipalib/plugins/migration.py:396 msgid "Ignore group attribute" msgstr "" -#: ipalib/plugins/migration.py:393 +#: ipalib/plugins/migration.py:397 msgid "" "Comma-separated list of attributes to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:399 +#: ipalib/plugins/migration.py:404 msgid "Overwrite GID" msgstr "" -#: ipalib/plugins/migration.py:400 +#: ipalib/plugins/migration.py:405 msgid "" "When migrating a group already existing in IPA domain overwrite the group " "GID and report as success" msgstr "" -#: ipalib/plugins/migration.py:405 +#: ipalib/plugins/migration.py:410 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:406 +#: ipalib/plugins/migration.py:411 msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:412 +#: ipalib/plugins/migration.py:417 msgid "Continue" msgstr "" -#: ipalib/plugins/migration.py:413 +#: ipalib/plugins/migration.py:418 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:421 +#: ipalib/plugins/migration.py:426 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:425 +#: ipalib/plugins/migration.py:430 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:429 +#: ipalib/plugins/migration.py:434 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:433 +#: ipalib/plugins/migration.py:438 #, python-format msgid "comma-separated list of %s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:435 +#: ipalib/plugins/migration.py:440 msgid "" "search results for objects to be migrated\n" "have been truncated by the server;\n" "migration process might be incomplete\n" msgstr "" -#: ipalib/plugins/migration.py:440 +#: ipalib/plugins/migration.py:445 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:443 +#: ipalib/plugins/migration.py:448 msgid "" "Passwords have been migrated in pre-hashed format.\n" "IPA is unable to generate Kerberos keys unless provided\n" @@ -5275,7 +5613,7 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:518 +#: ipalib/plugins/migration.py:523 #, python-format msgid "Container for %(container)s not found" msgstr "" @@ -5555,66 +5893,66 @@ msgid "" "Comma-separated list of permissions to grant (read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/permission.py:133 +#: ipalib/plugins/permission.py:135 msgid "" "Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)" msgstr "" -#: ipalib/plugins/permission.py:139 +#: ipalib/plugins/permission.py:141 msgid "Member of group" msgstr "" -#: ipalib/plugins/permission.py:140 +#: ipalib/plugins/permission.py:142 msgid "Target members of a group" msgstr "" -#: ipalib/plugins/permission.py:152 +#: ipalib/plugins/permission.py:154 msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:158 +#: ipalib/plugins/permission.py:160 msgid "User group to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:178 +#: ipalib/plugins/permission.py:180 msgid "Add a new permission." msgstr "" -#: ipalib/plugins/permission.py:180 +#: ipalib/plugins/permission.py:182 #, python-format msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:235 +#: ipalib/plugins/permission.py:237 msgid "Delete a permission." msgstr "" -#: ipalib/plugins/permission.py:237 +#: ipalib/plugins/permission.py:239 #, python-format msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:253 +#: ipalib/plugins/permission.py:255 msgid "Modify a permission." msgstr "" -#: ipalib/plugins/permission.py:255 +#: ipalib/plugins/permission.py:257 #, python-format msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:347 +#: ipalib/plugins/permission.py:349 msgid "Search for permissions." msgstr "" -#: ipalib/plugins/permission.py:350 +#: ipalib/plugins/permission.py:352 #, python-format msgid "%(count)d permission matched" msgid_plural "%(count)d permissions matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/permission.py:398 +#: ipalib/plugins/permission.py:402 msgid "Display information about a permission." msgstr "" @@ -5914,43 +6252,43 @@ msgstr "" msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:316 +#: ipalib/plugins/pwpolicy.py:317 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:335 +#: ipalib/plugins/pwpolicy.py:336 msgid "Add a new group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:362 +#: ipalib/plugins/pwpolicy.py:361 msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:373 +#: ipalib/plugins/pwpolicy.py:372 msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:388 +#: ipalib/plugins/pwpolicy.py:387 msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:398 +#: ipalib/plugins/pwpolicy.py:397 msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:430 +#: ipalib/plugins/pwpolicy.py:428 msgid "Display information about password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:434 ipalib/plugins/user.py:163 +#: ipalib/plugins/pwpolicy.py:432 ipalib/plugins/user.py:174 msgid "User" msgstr "" -#: ipalib/plugins/pwpolicy.py:435 +#: ipalib/plugins/pwpolicy.py:433 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:458 +#: ipalib/plugins/pwpolicy.py:456 msgid "Search for group password policies." msgstr "" @@ -5979,7 +6317,8 @@ msgid "" " Add some privileges to this role:\n" " ipa role-add-privilege --privileges=addusers junioradmin\n" " ipa role-add-privilege --privileges=change_password junioradmin\n" -" ipa role-add-privilege --privileges=add_user_to_default_group juioradmin\n" +" ipa role-add-privilege --privileges=add_user_to_default_group " +"junioradmin\n" "\n" " Add a group of users to this role:\n" " ipa group-add --desc=\"User admins\" useradmins\n" @@ -5988,7 +6327,7 @@ msgid "" " Display information about a role:\n" " ipa role-show junioradmin\n" "\n" -" The result of this is that any users in the group 'useradmins' can\n" +" The result of this is that any users in the group 'junioradmin' can\n" " add users, reset passwords or add a user to the default IPA user group.\n" msgstr "" @@ -6134,48 +6473,225 @@ msgstr "" msgid "Self-service name" msgstr "" -#: ipalib/plugins/selfservice.py:116 +#: ipalib/plugins/selfservice.py:118 msgid "Add a new self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:118 +#: ipalib/plugins/selfservice.py:120 #, python-format msgid "Added selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:137 +#: ipalib/plugins/selfservice.py:139 msgid "Delete a self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:140 +#: ipalib/plugins/selfservice.py:142 #, python-format msgid "Deleted selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:156 +#: ipalib/plugins/selfservice.py:158 msgid "Modify a self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:158 +#: ipalib/plugins/selfservice.py:160 #, python-format msgid "Modified selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:177 +#: ipalib/plugins/selfservice.py:179 msgid "Search for a self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:180 +#: ipalib/plugins/selfservice.py:182 #, python-format msgid "%(count)d selfservice matched" msgid_plural "%(count)d selfservices matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/selfservice.py:201 +#: ipalib/plugins/selfservice.py:203 msgid "Display information about a self-service permission." msgstr "" +#: ipalib/plugins/selinuxusermap.py:26 +msgid "" +"\n" +"SELinux User Mapping\n" +"\n" +"Map IPA users to SELinux users by host.\n" +"\n" +"Hosts, hostgroups, users and groups can be either defined within\n" +"the rule or it may point to an existing HBAC rule.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a rule, \"test1\", that sets all users to xguest_u:s0 on the host " +"\"server\":\n" +" ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1\n" +" ipa selinuxusermap-add-host --hosts=server.example.com test1\n" +"\n" +" Create a rule, \"test2\", that sets all users to guest_u:s0 and uses an " +"existing HBAC rule for users and hosts:\n" +" ipa selinuxusermap-add --usercat=all --hbacrule=webserver --" +"selinuxuser=guest_u:s0 test1\n" +"\n" +" Display the properties of a named HBAC rule:\n" +" ipa selinuxusermap-show test1\n" +"\n" +" Create a rule for a specific user. This sets the SELinux context for\n" +" user john to unconfined_u:s0-s0:c0.c1023 on any machine:\n" +" ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0." +"c1023 john_unconfined\n" +" ipa selinuxusermap-add-user --users=john john_unconfined\n" +"\n" +" Disable a named rule:\n" +" ipa selinuxusermap-disable test1\n" +"\n" +" Enable a named rule:\n" +" ipa selinuxusermap-enable test1\n" +"\n" +" Remove a named rule:\n" +" ipa selinuxusermap-del john_unconfined\n" +"\n" +"SEEALSO:\n" +"\n" +" The list controlling the order in which the SELinux user map is applied\n" +" and the default SELinux user are available in the config-show commond.\n" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:66 +msgid "HBAC rule and local members cannot both be set" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:89 +msgid "Invalid SELinux user name, only a-Z and _ are allowed" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:91 +msgid "Invalid MLS value, must match s[0-15](-s[0-15])" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:93 +msgid "" +"Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:106 +msgid "SELinux user map list not found in configuration" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:109 +#, python-format +msgid "SELinux user %(user)s not found in ordering list (in config)" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:118 +msgid "SELinux User Map rule" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:119 +msgid "SELinux User Map rules" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:136 +msgid "SELinux User Maps" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:137 +msgid "SELinux User Map" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:147 +msgid "SELinux User" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:152 +msgid "HBAC Rule that defines the users, groups and hostgroups" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:208 +#, python-format +msgid "HBAC rule %(rule)s not found" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:227 +msgid "Create a new SELinux User Map." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:229 +#, python-format +msgid "Added SELinux User Map \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:249 +msgid "Delete a SELinux User Map." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:251 +#, python-format +msgid "Deleted SELinux User Map \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:257 +msgid "Modify a SELinux User Map." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:259 +#, python-format +msgid "Modified SELinux User Map \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:293 +msgid "Search for SELinux User Maps." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:296 +#, python-format +msgid "%(count)d SELinux User Map matched" +msgid_plural "%(count)d SELinux User Maps matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/selinuxusermap.py:321 +msgid "Display the properties of a SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:331 +msgid "Enable an SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:333 +#, python-format +msgid "Enabled SELinux User Map \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:358 +msgid "Disable an SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:360 +#, python-format +msgid "Disabled SELinux User Map \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:385 +msgid "Add users and groups to an SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:406 +msgid "Remove users and groups from an SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:415 +msgid "Add target hosts and hostgroups to an SELinux User Map rule." +msgstr "" + +#: ipalib/plugins/selinuxusermap.py:436 +msgid "Remove target hosts and hostgroups from an SELinux User Map rule." +msgstr "" + #: ipalib/plugins/service.py:35 msgid "" "\n" @@ -6230,77 +6746,77 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/service.py:201 +#: ipalib/plugins/service.py:204 msgid "service" msgstr "" -#: ipalib/plugins/service.py:202 +#: ipalib/plugins/service.py:205 msgid "services" msgstr "" -#: ipalib/plugins/service.py:226 +#: ipalib/plugins/service.py:229 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:242 +#: ipalib/plugins/service.py:245 msgid "Add a new IPA new service." msgstr "" -#: ipalib/plugins/service.py:244 +#: ipalib/plugins/service.py:247 #, python-format msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:250 +#: ipalib/plugins/service.py:253 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:283 +#: ipalib/plugins/service.py:286 msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/service.py:285 +#: ipalib/plugins/service.py:288 #, python-format msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:319 +#: ipalib/plugins/service.py:322 msgid "Modify an existing IPA service." msgstr "" -#: ipalib/plugins/service.py:321 +#: ipalib/plugins/service.py:324 #, python-format msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:353 +#: ipalib/plugins/service.py:356 msgid "Search for IPA services." msgstr "" -#: ipalib/plugins/service.py:356 +#: ipalib/plugins/service.py:359 #, python-format msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:385 +#: ipalib/plugins/service.py:391 msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/service.py:417 +#: ipalib/plugins/service.py:424 msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:426 +#: ipalib/plugins/service.py:433 msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:435 +#: ipalib/plugins/service.py:442 msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/service.py:438 +#: ipalib/plugins/service.py:445 #, python-format msgid "Disabled service \"%(value)s\"" msgstr "" @@ -6743,7 +7259,7 @@ msgstr "" msgid "Removed option \"%s\" from Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/user.py:29 +#: ipalib/plugins/user.py:31 msgid "" "\n" "Users\n" @@ -6785,209 +7301,217 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:134 +#: ipalib/plugins/user.py:75 +msgid "Kerberos keys available" +msgstr "" + +#: ipalib/plugins/user.py:145 msgid "user" msgstr "" -#: ipalib/plugins/user.py:135 +#: ipalib/plugins/user.py:146 msgid "users" msgstr "" -#: ipalib/plugins/user.py:171 +#: ipalib/plugins/user.py:182 msgid "User login" msgstr "" -#: ipalib/plugins/user.py:178 +#: ipalib/plugins/user.py:189 msgid "First name" msgstr "" -#: ipalib/plugins/user.py:182 +#: ipalib/plugins/user.py:193 msgid "Last name" msgstr "" -#: ipalib/plugins/user.py:185 +#: ipalib/plugins/user.py:196 msgid "Full name" msgstr "" -#: ipalib/plugins/user.py:190 +#: ipalib/plugins/user.py:201 msgid "Display name" msgstr "" -#: ipalib/plugins/user.py:195 +#: ipalib/plugins/user.py:206 msgid "Initials" msgstr "" -#: ipalib/plugins/user.py:201 +#: ipalib/plugins/user.py:212 msgid "Home directory" msgstr "" -#: ipalib/plugins/user.py:205 +#: ipalib/plugins/user.py:217 msgid "GECOS field" msgstr "" -#: ipalib/plugins/user.py:211 +#: ipalib/plugins/user.py:223 msgid "Login shell" msgstr "" -#: ipalib/plugins/user.py:216 +#: ipalib/plugins/user.py:228 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:224 +#: ipalib/plugins/user.py:236 msgid "Email address" msgstr "" -#: ipalib/plugins/user.py:229 +#: ipalib/plugins/user.py:241 msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/user.py:236 +#: ipalib/plugins/user.py:247 +msgid "Generate a random user password" +msgstr "" + +#: ipalib/plugins/user.py:257 msgid "UID" msgstr "" -#: ipalib/plugins/user.py:237 +#: ipalib/plugins/user.py:258 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/user.py:244 +#: ipalib/plugins/user.py:265 msgid "Group ID Number" msgstr "" -#: ipalib/plugins/user.py:249 +#: ipalib/plugins/user.py:271 msgid "Street address" msgstr "" -#: ipalib/plugins/user.py:253 +#: ipalib/plugins/user.py:275 msgid "City" msgstr "" -#: ipalib/plugins/user.py:257 +#: ipalib/plugins/user.py:279 msgid "State/Province" msgstr "" -#: ipalib/plugins/user.py:260 +#: ipalib/plugins/user.py:282 msgid "ZIP" msgstr "" -#: ipalib/plugins/user.py:264 +#: ipalib/plugins/user.py:286 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/user.py:267 +#: ipalib/plugins/user.py:289 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/user.py:270 +#: ipalib/plugins/user.py:292 msgid "Pager Number" msgstr "" -#: ipalib/plugins/user.py:274 +#: ipalib/plugins/user.py:296 msgid "Fax Number" msgstr "" -#: ipalib/plugins/user.py:278 +#: ipalib/plugins/user.py:300 msgid "Org. Unit" msgstr "" -#: ipalib/plugins/user.py:281 +#: ipalib/plugins/user.py:303 msgid "Job Title" msgstr "" -#: ipalib/plugins/user.py:284 +#: ipalib/plugins/user.py:306 msgid "Manager" msgstr "" -#: ipalib/plugins/user.py:287 +#: ipalib/plugins/user.py:309 msgid "Car License" msgstr "" -#: ipalib/plugins/user.py:290 +#: ipalib/plugins/user.py:312 msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:332 +#: ipalib/plugins/user.py:354 #, python-format msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/user.py:351 +#: ipalib/plugins/user.py:373 msgid "Add a new user." msgstr "" -#: ipalib/plugins/user.py:353 +#: ipalib/plugins/user.py:375 #, python-format msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:358 +#: ipalib/plugins/user.py:382 msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/user.py:388 +#: ipalib/plugins/user.py:412 #, python-format msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/user.py:465 +#: ipalib/plugins/user.py:501 msgid "Delete a user." msgstr "" -#: ipalib/plugins/user.py:467 +#: ipalib/plugins/user.py:503 #, python-format msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:476 +#: ipalib/plugins/user.py:512 msgid "Modify a user." msgstr "" -#: ipalib/plugins/user.py:478 +#: ipalib/plugins/user.py:514 #, python-format msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:498 +#: ipalib/plugins/user.py:546 msgid "Search for users." msgstr "" -#: ipalib/plugins/user.py:504 +#: ipalib/plugins/user.py:553 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:505 +#: ipalib/plugins/user.py:554 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:524 +#: ipalib/plugins/user.py:575 #, python-format msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/user.py:531 +#: ipalib/plugins/user.py:582 msgid "Display information about a user." msgstr "" -#: ipalib/plugins/user.py:543 +#: ipalib/plugins/user.py:596 msgid "Disable a user account." msgstr "" -#: ipalib/plugins/user.py:546 +#: ipalib/plugins/user.py:599 #, python-format msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:564 +#: ipalib/plugins/user.py:617 msgid "Enable a user account." msgstr "" -#: ipalib/plugins/user.py:567 +#: ipalib/plugins/user.py:621 #, python-format msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:584 +#: ipalib/plugins/user.py:638 msgid "" "\n" " Unlock a user account\n" @@ -6999,24 +7523,58 @@ msgid "" " an administrator." msgstr "" -#: ipalib/plugins/user.py:593 +#: ipalib/plugins/user.py:647 #, python-format msgid "Unlocked account \"%(value)s\"" msgstr "" -#: ipalib/util.py:200 +#: ipalib/util.py:193 #, python-format msgid "Permission denied: %(file)s" msgstr "" +#: ipalib/util.py:221 +msgid "" +"mail account may only include letters, numbers, -, _ and a dot. There may " +"not be consecutive -, _ and . characters" +msgstr "" + +#: ipalib/util.py:224 ipalib/util.py:265 +msgid "cannot be longer that 255 characters" +msgstr "" + +#: ipalib/util.py:234 +msgid "too many '@' characters" +msgstr "" + +#: ipalib/util.py:240 ipalib/util.py:254 +msgid "" +"address domain is not fully qualified (\"example.com\" instead of just " +"\"example\")" +msgstr "" + +#: ipalib/util.py:258 +msgid "domain name may only include letters, numbers, and -" +msgstr "" + +#: ipalib/util.py:271 +msgid "hostname is not fully qualified" +msgstr "" + +#: ipalib/util.py:274 +msgid "" +"hostname parts may only include letters, numbers, and - (which is not " +"allowed as the last character)" +msgstr "" + #: ipalib/x509.py:213 #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" msgstr "" -#: ipaserver/plugins/dogtag.py:1375 ipaserver/plugins/dogtag.py:1460 -#: ipaserver/plugins/dogtag.py:1525 ipaserver/plugins/dogtag.py:1603 -#: ipaserver/plugins/dogtag.py:1662 +#: ipaserver/plugins/dogtag.py:1371 ipaserver/plugins/dogtag.py:1456 +#: ipaserver/plugins/dogtag.py:1521 ipaserver/plugins/dogtag.py:1599 +#: ipaserver/plugins/dogtag.py:1658 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" @@ -7037,7 +7595,7 @@ msgstr "" msgid "Operating System and version of the host (e.g. Fedora 9)" msgstr "" -#: ipaserver/plugins/ldap2.py:279 +#: ipaserver/plugins/ldap2.py:401 #, python-format msgid "objectclass %s not found" msgstr "" @@ -7066,74 +7624,78 @@ msgstr "" msgid "certutil failure" msgstr "" -#: ipa-client/config.c:55 +#: ipa-client/config.c:56 #, c-format msgid "cannot open configuration file %s\n" msgstr "" -#: ipa-client/config.c:62 +#: ipa-client/config.c:63 #, c-format msgid "cannot stat() configuration file %s\n" msgstr "" -#: ipa-client/config.c:68 +#: ipa-client/config.c:69 #, c-format msgid "out of memory\n" msgstr "" -#: ipa-client/config.c:79 +#: ipa-client/config.c:80 #, c-format msgid "read error\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:828 -#: ipa-client/ipa-rmkeytab.c:190 +#: ipa-client/ipa-getkeytab.c:85 #, c-format -msgid "Kerberos context initialization failed\n" +msgid "Kerberos context initialization failed: %s (%d)\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:96 +#, c-format +msgid "Unable to parse principal: %s (%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:147 ipa-client/ipa-getkeytab.c:841 +#: ipa-client/ipa-getkeytab.c:157 ipa-client/ipa-getkeytab.c:851 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:155 +#: ipa-client/ipa-getkeytab.c:165 #, c-format msgid "Out of memory!?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:173 ipa-client/ipa-getkeytab.c:188 +#: ipa-client/ipa-getkeytab.c:183 ipa-client/ipa-getkeytab.c:198 #, c-format msgid "Out of memory\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:203 +#: ipa-client/ipa-getkeytab.c:213 #, c-format msgid "Warning unrecognized encryption type: [%s]\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:218 +#: ipa-client/ipa-getkeytab.c:228 #, c-format msgid "Warning unrecognized salt type: [%s]\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:245 +#: ipa-client/ipa-getkeytab.c:255 #, c-format msgid "Enctype comparison failed!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:307 +#: ipa-client/ipa-getkeytab.c:317 #, c-format msgid "Failed to create random key!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:320 ipa-client/ipa-getkeytab.c:337 -#: ipa-client/ipa-getkeytab.c:345 ipa-client/ipa-getkeytab.c:382 +#: ipa-client/ipa-getkeytab.c:330 ipa-client/ipa-getkeytab.c:347 +#: ipa-client/ipa-getkeytab.c:355 ipa-client/ipa-getkeytab.c:392 #, c-format msgid "Failed to create key!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360 +#: ipa-client/ipa-getkeytab.c:337 ipa-client/ipa-getkeytab.c:370 #: ipa-client/ipa-join.c:378 ipa-client/ipa-join.c:453 #: ipa-client/ipa-join.c:471 ipa-client/ipa-join.c:572 #: ipa-client/ipa-join.c:766 ipa-client/ipa-join.c:834 @@ -7141,211 +7703,216 @@ msgstr "" msgid "Out of memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:371 +#: ipa-client/ipa-getkeytab.c:381 #, c-format msgid "Bad or unsupported salt type (%d)!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:492 +#: ipa-client/ipa-getkeytab.c:502 #, c-format msgid "No keys accepted by KDC\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:507 +#: ipa-client/ipa-getkeytab.c:517 #, c-format msgid "Out of memory \n" msgstr "" -#: ipa-client/ipa-getkeytab.c:545 +#: ipa-client/ipa-getkeytab.c:555 #, c-format msgid "Out of Memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:552 +#: ipa-client/ipa-getkeytab.c:562 #, c-format msgid "Failed to create control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:576 +#: ipa-client/ipa-getkeytab.c:586 #, c-format msgid "Unable to initialize ldap library!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:583 ipa-client/ipa-join.c:240 +#: ipa-client/ipa-getkeytab.c:593 ipa-client/ipa-join.c:240 #, c-format msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:590 +#: ipa-client/ipa-getkeytab.c:600 #, c-format msgid "Unable to set ldap options!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:603 +#: ipa-client/ipa-getkeytab.c:613 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:613 +#: ipa-client/ipa-getkeytab.c:623 #, c-format msgid "SASL Bind failed!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:629 ipa-client/ipa-getkeytab.c:642 -#: ipa-client/ipa-getkeytab.c:649 ipa-client/ipa-getkeytab.c:656 +#: ipa-client/ipa-getkeytab.c:639 ipa-client/ipa-getkeytab.c:652 +#: ipa-client/ipa-getkeytab.c:659 ipa-client/ipa-getkeytab.c:666 #, c-format msgid "Operation failed! %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:662 ipa-client/ipa-getkeytab.c:672 +#: ipa-client/ipa-getkeytab.c:672 ipa-client/ipa-getkeytab.c:682 #, c-format msgid "Missing reply control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:679 +#: ipa-client/ipa-getkeytab.c:689 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:698 ipa-client/ipa-getkeytab.c:705 +#: ipa-client/ipa-getkeytab.c:708 ipa-client/ipa-getkeytab.c:715 #, c-format msgid "ber_scanf() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:743 +#: ipa-client/ipa-getkeytab.c:753 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:749 +#: ipa-client/ipa-getkeytab.c:759 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:783 +#: ipa-client/ipa-getkeytab.c:793 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:783 +#: ipa-client/ipa-getkeytab.c:793 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:785 +#: ipa-client/ipa-getkeytab.c:795 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:786 +#: ipa-client/ipa-getkeytab.c:796 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:788 ipa-client/ipa-rmkeytab.c:171 +#: ipa-client/ipa-getkeytab.c:798 ipa-client/ipa-rmkeytab.c:171 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:789 ipa-client/ipa-rmkeytab.c:172 +#: ipa-client/ipa-getkeytab.c:799 ipa-client/ipa-rmkeytab.c:172 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:791 ipa-client/ipa-rmkeytab.c:174 +#: ipa-client/ipa-getkeytab.c:801 ipa-client/ipa-rmkeytab.c:174 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:792 ipa-client/ipa-rmkeytab.c:174 +#: ipa-client/ipa-getkeytab.c:802 ipa-client/ipa-rmkeytab.c:174 msgid "Keytab File Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:794 +#: ipa-client/ipa-getkeytab.c:804 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:795 +#: ipa-client/ipa-getkeytab.c:805 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:797 +#: ipa-client/ipa-getkeytab.c:807 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:798 +#: ipa-client/ipa-getkeytab.c:808 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:800 +#: ipa-client/ipa-getkeytab.c:810 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:802 +#: ipa-client/ipa-getkeytab.c:812 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:802 +#: ipa-client/ipa-getkeytab.c:812 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:804 +#: ipa-client/ipa-getkeytab.c:814 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:804 +#: ipa-client/ipa-getkeytab.c:814 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:844 +#: ipa-client/ipa-getkeytab.c:838 ipa-client/ipa-rmkeytab.c:190 +#, c-format +msgid "Kerberos context initialization failed\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:854 #, c-format msgid "Supported encryption types:\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:848 +#: ipa-client/ipa-getkeytab.c:858 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:867 +#: ipa-client/ipa-getkeytab.c:877 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:880 +#: ipa-client/ipa-getkeytab.c:890 #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:892 +#: ipa-client/ipa-getkeytab.c:902 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:900 +#: ipa-client/ipa-getkeytab.c:910 #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:908 +#: ipa-client/ipa-getkeytab.c:918 #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:916 +#: ipa-client/ipa-getkeytab.c:926 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:923 +#: ipa-client/ipa-getkeytab.c:933 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:942 +#: ipa-client/ipa-getkeytab.c:952 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:951 +#: ipa-client/ipa-getkeytab.c:961 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:957 +#: ipa-client/ipa-getkeytab.c:967 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" |