diff options
author | John Dennis <jdennis@redhat.com> | 2012-02-21 17:06:05 -0500 |
---|---|---|
committer | John Dennis <jdennis@redhat.com> | 2012-02-21 17:06:05 -0500 |
commit | d4cc16766a5a1e613939177e04bcb0f7211c2230 (patch) | |
tree | 81c8c69ad22c27b527300b6abc19d4c2308e83d9 /install/po/pt_BR.po | |
parent | 62b91f5acffcd30bf031b6455323c01453386eb2 (diff) | |
download | freeipa-d4cc16766a5a1e613939177e04bcb0f7211c2230.tar.gz freeipa-d4cc16766a5a1e613939177e04bcb0f7211c2230.tar.xz freeipa-d4cc16766a5a1e613939177e04bcb0f7211c2230.zip |
pulled new po files from Transifex
Diffstat (limited to 'install/po/pt_BR.po')
-rw-r--r-- | install/po/pt_BR.po | 7214 |
1 files changed, 3674 insertions, 3540 deletions
diff --git a/install/po/pt_BR.po b/install/po/pt_BR.po index bea77bbd4..2725a24d1 100644 --- a/install/po/pt_BR.po +++ b/install/po/pt_BR.po @@ -2,160 +2,511 @@ # Copyright (C) YEAR Red Hat # This file is distributed under the same license as the PACKAGE package. # +# Translators: msgid "" msgstr "" "Project-Id-Version: FreeIPA\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?product=freeIPA\n" -"POT-Creation-Date: 2011-06-06 13:27-0400\n" -"PO-Revision-Date: 2011-08-18 00:48+0000\n" +"POT-Creation-Date: 2011-12-08 16:05-0500\n" +"PO-Revision-Date: 2011-03-07 20:40+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: Portuguese (Brazilian) <trans-pt_br@lists.fedoraproject.org>\n" +"Language-Team: Portuguese (Brazil) <trans-pt_br@lists.fedoraproject.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ipalib/plugins/__init__.py:20 +#: ipalib/cli.py:583 +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "" + +#: ipalib/cli.py:587 ipa-client/ipa-getkeytab.c:768 +#, c-format +msgid "Passwords do not match!" +msgstr "" + +#: ipalib/cli.py:592 +msgid "Cancelled." +msgstr "" + +#: ipalib/cli.py:753 +#, python-format +msgid "Purpose: %s" +msgstr "" + +#: ipalib/cli.py:770 +msgid "Usage: ipa [global-options] COMMAND ..." +msgstr "" + +#: ipalib/cli.py:772 +msgid "Built-in commands:" +msgstr "" + +#: ipalib/cli.py:774 +msgid "Help subtopics:" +msgstr "" + +#: ipalib/cli.py:777 +msgid "Help topics:" +msgstr "" + +#: ipalib/cli.py:782 +msgid "Try `ipa --help` for a list of global options." +msgstr "" + +#: ipalib/cli.py:816 +msgid "Topic commands:" +msgstr "" + +#: ipalib/cli.py:827 +msgid "Command name" +msgstr "" + +#: ipalib/cli.py:1130 +msgid "No file to read" +msgstr "" + +#: ipalib/errors.py:303 +#, python-format +msgid "%(cver)s client incompatible with %(sver)s server at %(server)r" +msgstr "" + +#: ipalib/errors.py:321 +#, python-format +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "" + +#: ipalib/errors.py:337 +msgid "an internal error has occurred" +msgstr "" + +#: ipalib/errors.py:359 +#, python-format +msgid "an internal error has occurred on server at %(server)r" +msgstr "" + +#: ipalib/errors.py:375 +#, python-format +msgid "unknown command %(name)r" +msgstr "" + +#: ipalib/errors.py:392 ipalib/errors.py:417 +#, python-format +msgid "error on server %(server)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:408 +#, python-format +msgid "cannot connect to %(uri)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:426 +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "" + +#: ipalib/errors.py:442 +#, python-format +msgid "error marshalling data for XML-RPC transport: %(error)s" +msgstr "" + +#: ipalib/errors.py:468 +#, python-format +msgid "Kerberos error: %(major)s/%(minor)s" +msgstr "" + +#: ipalib/errors.py:485 +msgid "did not receive Kerberos credentials" +msgstr "" + +#: ipalib/errors.py:501 +#, python-format +msgid "Service %(service)r not found in Kerberos database" +msgstr "" + +#: ipalib/errors.py:517 +msgid "No credentials cache found" +msgstr "" + +#: ipalib/errors.py:533 +msgid "Ticket expired" +msgstr "" + +#: ipalib/errors.py:549 +msgid "Credentials cache permissions incorrect" +msgstr "" + +#: ipalib/errors.py:565 +msgid "Bad format in credentials cache" +msgstr "" + +#: ipalib/errors.py:581 +msgid "Cannot resolve KDC for requested realm" +msgstr "" + +#: ipalib/errors.py:600 +#, python-format +msgid "Insufficient access: %(info)s" +msgstr "" + +#: ipalib/errors.py:644 +#, python-format +msgid "command %(name)r takes no arguments" +msgstr "" + +#: ipalib/errors.py:664 +#, python-format +msgid "command %(name)r takes at most %(count)d argument" +msgid_plural "command %(name)r takes at most %(count)d arguments" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/errors.py:694 +#, python-format +msgid "overlapping arguments and options: %(names)r" +msgstr "" + +#: ipalib/errors.py:710 +#, python-format +msgid "%(name)r is required" +msgstr "" + +#: ipalib/errors.py:726 ipalib/errors.py:742 +#, python-format +msgid "invalid %(name)r: %(error)s" +msgstr "" + +#: ipalib/errors.py:758 +#, python-format +msgid "api has no such namespace: %(name)r" +msgstr "" + +#: ipalib/errors.py:767 +msgid "Passwords do not match" +msgstr "" + +#: ipalib/errors.py:776 +msgid "Command not implemented" +msgstr "" + +#: ipalib/errors.py:785 +msgid "Client is not configured. Run ipa-client-install." +msgstr "" + +#: ipalib/errors.py:813 ipalib/errors.py:1053 ipalib/errors.py:1147 +#: ipalib/errors.py:1462 ipalib/errors.py:1479 +#, python-format +msgid "%(reason)s" +msgstr "" + +#: ipalib/errors.py:829 +msgid "This entry already exists" +msgstr "" + +#: ipalib/errors.py:845 +msgid "You must enroll a host in order to create a host service" +msgstr "" + +#: ipalib/errors.py:861 +#, python-format msgid "" -"\n" -"Sub-package containing all core plugins.\n" +"Service principal is not of the form: service/fully-qualified host name: " +"%(reason)s" msgstr "" -#: ipalib/plugins/aci.py:20 +#: ipalib/errors.py:877 msgid "" -"\n" -"Directory Server Access Control Instructions (ACIs)\n" -"\n" -"ACIs are used to allow or deny access to information. This module is\n" -"currently designed to allow, not deny, access.\n" -"\n" -"The aci commands are designed to grant permissions that allow updating\n" -"existing entries or adding or deleting new ones. The goal of the ACIs\n" -"that ship with IPA is to provide a set of low-level permissions that\n" -"grant access to special groups called taskgroups. These low-level\n" -"permissions can be combined into roles that grant broader access. These\n" -"roles are another type of group, roles.\n" -"\n" -"For example, if you have taskgroups that allow adding and modifying users you\n" -"could create a role, useradmin. You would assign users to the useradmin\n" -"role to allow them to do the operations defined by the taskgroups.\n" -"\n" -"You can create ACIs that delegate permission so users in group A can write\n" -"attributes on group B.\n" -"\n" -"The type option is a map that applies to all entries in the users, groups or\n" -"host location. It is primarily designed to be used when granting add\n" -"permissions (to write new entries).\n" -"\n" -"An ACI consists of three parts:\n" -"1. target\n" -"2. permissions\n" -"3. bind rules\n" -"\n" -"The target is a set of rules that define which LDAP objects are being\n" -"targeted. This can include a list of attributes, an area of that LDAP\n" -"tree or an LDAP filter.\n" -"\n" -"The targets include:\n" -"- attrs: list of attributes affected\n" -"- type: an object type (user, group, host, service, etc)\n" -"- memberof: members of a group\n" -"- targetgroup: grant access to modify a specific group. This is primarily\n" -" designed to enable users to add or remove members of a specific group.\n" -"- filter: A legal LDAP filter used to narrow the scope of the target.\n" -"- subtree: Used to apply a rule across an entire set of objects. For example,\n" -" to allow adding users you need to grant \"add\" permission to the subtree\n" -" ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option\n" -" is a fail-safe for objects that may not be covered by the type option.\n" -"\n" -"The permissions define what the the ACI is allowed to do, and are one or\n" -"more of:\n" -"1. write - write one or more attributes\n" -"2. read - read one or more attributes\n" -"3. add - add a new entry to the tree\n" -"4. delete - delete an existing entry\n" -"5. all - all permissions are granted\n" -"\n" -"Note the distinction between attributes and entries. The permissions are\n" -"independent, so being able to add a user does not mean that the user will\n" -"be editable.\n" -"\n" -"The bind rule defines who this ACI grants permissions to. The LDAP server\n" -"allows this to be any valid LDAP entry but we encourage the use of\n" -"taskgroups so that the rights can be easily shared through roles.\n" -"\n" -"For a more thorough description of access controls see\n" -"http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html\n" -"\n" -"EXAMPLES:\n" -"\n" -"NOTE: ACIs are now added via the permission plugin. These examples are to\n" -"demonstrate how the various options work but this is done via the permission\n" -"command-line now (see last example).\n" -"\n" -" Add an ACI so that the group \"secretaries\" can update the address on any user:\n" -" ipa group-add --desc=\"Office secretaries\" secretaries\n" -" ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none \"Secretaries write addresses\"\n" -"\n" -" Show the new ACI:\n" -" ipa aci-show --prefix=none \"Secretaries write addresses\"\n" -"\n" -" Add an ACI that allows members of the \"addusers\" permission to add new users:\n" -" ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none \"Add new users\"\n" -"\n" -" Add an ACI that allows members of the editors manage members of the admins group:\n" -" ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none \"Editors manage admins\"\n" -"\n" -" Add an ACI that allows members of the admin group to manage the street and zip code of those in the editors group:\n" -" ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none \"admins edit the address of editors\"\n" -"\n" -" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss:\n" -" ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter=\"(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)\" --prefix=none \"Edit the address of those who work for the boss\"\n" -"\n" -" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission:\n" -" ipa permission-add --permissions=add --subtree=\"cn=*,cn=orange,cn=accounts,dc=example,dc=com\" --desc=\"Add Orange Entries\" add_orange\n" -"\n" -"\n" -"The show command shows the raw 389-ds ACI.\n" -"\n" -"IMPORTANT: When modifying the target attributes of an existing ACI you\n" -"must include all existing attributes as well. When doing an aci-mod the\n" -"targetattr REPLACES the current attributes, it does not add to them.\n" -"\n" +"The realm for the principal does not match the realm for this IPA server" msgstr "" -#: ipalib/plugins/aci.py:153 -msgid "A list of ACI values" +#: ipalib/errors.py:893 +msgid "This command requires root access" msgstr "" -#: ipalib/plugins/aci.py:172 -msgid "" -"\n" -" Given a name and a prefix construct an ACI name.\n" -" " +#: ipalib/errors.py:909 +msgid "This is already a posix group" msgstr "" -#: ipalib/plugins/aci.py:181 +#: ipalib/errors.py:925 +#, python-format +msgid "Principal is not of the form user@REALM: %(principal)r" +msgstr "" + +#: ipalib/errors.py:941 +msgid "This entry is already enabled" +msgstr "" + +#: ipalib/errors.py:957 +msgid "This entry is already disabled" +msgstr "" + +#: ipalib/errors.py:973 +msgid "This entry cannot be enabled or disabled" +msgstr "" + +#: ipalib/errors.py:989 +msgid "This entry is not a member" +msgstr "" + +#: ipalib/errors.py:1005 +msgid "A group may not be a member of itself" +msgstr "" + +#: ipalib/errors.py:1021 +msgid "This entry is already a member" +msgstr "" + +#: ipalib/errors.py:1037 +#, python-format +msgid "Base64 decoding failed: %(reason)s" +msgstr "" + +#: ipalib/errors.py:1069 +msgid "A group may not be added as a member of itself" +msgstr "" + +#: ipalib/errors.py:1085 +msgid "The default users group cannot be removed" +msgstr "" + +#: ipalib/errors.py:1101 +msgid "Host does not have corresponding DNS A record" +msgstr "" + +#: ipalib/errors.py:1116 +msgid "Deleting a managed group is not allowed. It must be detached first." +msgstr "" + +#: ipalib/errors.py:1131 +msgid "A managed group cannot have a password policy." +msgstr "" + +#: ipalib/errors.py:1163 +#, python-format +msgid "'%(entry)s' doesn't have a certificate." +msgstr "" + +#: ipalib/errors.py:1179 +#, python-format +msgid "Unable to create private group. A group '%(group)s' already exists." +msgstr "" + +#: ipalib/errors.py:1195 +#, python-format msgid "" -"\n" -" Parse the raw ACI name and return a tuple containing the ACI prefix\n" -" and the actual ACI name.\n" -" " +"A problem was encountered when verifying that all members were %(verb)s: " +"%(exc)s" +msgstr "" + +#: ipalib/errors.py:1213 +#, python-format +msgid "%(attr)s does not contain '%(value)s'" msgstr "" -#: ipalib/plugins/aci.py:193 +#: ipalib/errors.py:1230 +#, python-format msgid "" -"\n" -" Pull the group name out of a memberOf filter\n" -" " +"The search criteria was not specific enough. Expected 1 and found %(found)d." +msgstr "" + +#: ipalib/errors.py:1254 +#, python-format +msgid "no command nor help topic %(topic)r" +msgstr "" + +#: ipalib/errors.py:1278 +msgid "change collided with another change" +msgstr "" + +#: ipalib/errors.py:1294 +msgid "no modifications to be performed" +msgstr "" + +#: ipalib/errors.py:1310 +#, python-format +msgid "%(desc)s: %(info)s" +msgstr "" + +#: ipalib/errors.py:1326 +msgid "limits exceeded for this query" +msgstr "" + +#: ipalib/errors.py:1341 +#, python-format +msgid "%(info)s" +msgstr "" + +#: ipalib/errors.py:1356 +msgid "modifying primary key is not allowed" +msgstr "" + +#: ipalib/errors.py:1372 +#, python-format +msgid "%(attr)s: Only one value allowed." msgstr "" -#: ipalib/plugins/aci.py:204 +#: ipalib/errors.py:1388 +#, python-format +msgid "%(attr)s: Invalid syntax." +msgstr "" + +#: ipalib/errors.py:1404 +#, python-format +msgid "Bad search filter %(info)s" +msgstr "" + +#: ipalib/errors.py:1429 +#, python-format +msgid "Certificate operation cannot be completed: %(error)s" +msgstr "" + +#: ipalib/errors.py:1445 +#, python-format +msgid "Certificate format error: %(error)s" +msgstr "" + +#: ipalib/errors.py:1496 +msgid "Already registered" +msgstr "" + +#: ipalib/errors.py:1512 +msgid "Not registered yet" +msgstr "" + +#: ipalib/frontend.py:408 +msgid "Results are truncated, try a more specific search" +msgstr "" + +#: ipalib/frontend.py:821 msgid "" -"\n" -" Given a name and a set of keywords construct an ACI.\n" -" " +"Retrieve and print all attributes from the server. Affects command output." +msgstr "" + +#: ipalib/frontend.py:827 +msgid "Print entries as stored on the server. Only affects output format." +msgstr "" + +#: ipalib/frontend.py:832 ipalib/plugins/batch.py:69 +msgid "Client version. Used to determine if server will accept request." +msgstr "" + +#: ipalib/frontend.py:967 +msgid "Forward to server instead of running locally" +msgstr "" + +#: ipalib/output.py:92 +msgid "A dictionary representing an LDAP entry" +msgstr "" + +#: ipalib/output.py:100 +msgid "A list of LDAP entries" +msgstr "" + +#: ipalib/output.py:111 +msgid "All commands should at least have a result" +msgstr "" + +#: ipalib/parameters.py:358 +msgid "incorrect type" +msgstr "" + +#: ipalib/parameters.py:361 +msgid "Only one value is allowed" +msgstr "" + +#: ipalib/parameters.py:1023 +msgid "must be True or False" +msgstr "" + +#: ipalib/parameters.py:1124 +msgid "must be an integer" +msgstr "" + +#: ipalib/parameters.py:1176 +#, python-format +msgid "must be at least %(minvalue)d" +msgstr "" + +#: ipalib/parameters.py:1186 +#, python-format +msgid "can be at most %(maxvalue)d" +msgstr "" + +#: ipalib/parameters.py:1227 +msgid "must be a decimal number" +msgstr "" + +#: ipalib/parameters.py:1250 +#, python-format +msgid "must be at least %(minvalue)f" +msgstr "" + +#: ipalib/parameters.py:1260 +#, python-format +msgid "can be at most %(maxvalue)f" +msgstr "" + +#: ipalib/parameters.py:1327 +#, python-format +msgid "must match pattern \"%(pattern)s\"" +msgstr "" + +#: ipalib/parameters.py:1345 +msgid "must be binary data" +msgstr "" + +#: ipalib/parameters.py:1361 +#, python-format +msgid "must be at least %(minlength)d bytes" +msgstr "" + +#: ipalib/parameters.py:1371 +#, python-format +msgid "can be at most %(maxlength)d bytes" +msgstr "" + +#: ipalib/parameters.py:1381 +#, python-format +msgid "must be exactly %(length)d bytes" +msgstr "" + +#: ipalib/parameters.py:1403 +msgid "must be Unicode text" +msgstr "" + +#: ipalib/parameters.py:1436 +msgid "Leading and trailing spaces are not allowed" +msgstr "" + +#: ipalib/parameters.py:1444 +#, python-format +msgid "must be at least %(minlength)d characters" +msgstr "" + +#: ipalib/parameters.py:1454 +#, python-format +msgid "can be at most %(maxlength)d characters" +msgstr "" + +#: ipalib/parameters.py:1464 +#, python-format +msgid "must be exactly %(length)d characters" +msgstr "" + +#: ipalib/parameters.py:1482 +#, python-format +msgid "The character '%(char)r' is not allowed." +msgstr "" + +#: ipalib/parameters.py:1526 +#, python-format +msgid "must be one of %(values)r" +msgstr "" + +#: ipalib/plugins/aci.py:153 +msgid "A list of ACI values" msgstr "" #: ipalib/plugins/aci.py:215 @@ -185,6 +536,7 @@ msgid "One of group, permission or self is required" msgstr "" #: ipalib/plugins/aci.py:251 +#, python-format msgid "Group '%s' does not exist" msgstr "" @@ -193,20 +545,12 @@ msgid "empty filter" msgstr "" #: ipalib/plugins/aci.py:294 +#, python-format msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/plugins/aci.py:299 -msgid "" -"Convert an ACI into its equivalent keywords.\n" -"\n" -" This is used for the modify operation so we can merge the\n" -" incoming kw and existing ACI and pass the result to\n" -" _make_aci().\n" -" " -msgstr "" - #: ipalib/plugins/aci.py:379 +#, python-format msgid "ACI with name \"%s\" not found" msgstr "" @@ -220,13 +564,6 @@ msgid "" "none)" msgstr "" -#: ipalib/plugins/aci.py:407 -msgid "" -"\n" -" ACI object.\n" -" " -msgstr "" - #: ipalib/plugins/aci.py:412 msgid "ACIs" msgstr "" @@ -235,222 +572,439 @@ msgstr "" msgid "ACI name" msgstr "" -#: ipalib/plugins/aci.py:422 +#: ipalib/plugins/aci.py:423 ipalib/plugins/permission.py:109 msgid "Permission" msgstr "" -#: ipalib/plugins/aci.py:423 +#: ipalib/plugins/aci.py:424 msgid "Permission ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:130 +#: ipalib/plugins/aci.py:429 ipalib/plugins/delegation.py:134 msgid "User group" msgstr "" -#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:131 +#: ipalib/plugins/aci.py:430 ipalib/plugins/delegation.py:135 msgid "User group ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:60 -#: ipalib/plugins/delegation.py:113 ipalib/plugins/permission.py:107 -#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:86 +#: ipalib/plugins/aci.py:435 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:436 msgid "" "comma-separated list of permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:119 -#: ipalib/plugins/permission.py:124 ipalib/plugins/selfservice.py:92 +#: ipalib/plugins/aci.py:444 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:120 -#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:93 +#: ipalib/plugins/aci.py:445 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/internal.py:164 -#: ipalib/plugins/permission.py:131 +#: ipalib/plugins/aci.py:451 ipalib/plugins/permission.py:134 msgid "Type" msgstr "" -#: ipalib/plugins/aci.py:445 +#: ipalib/plugins/aci.py:452 msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/plugins/aci.py:450 +#: ipalib/plugins/aci.py:458 msgid "Member of" msgstr "" -#: ipalib/plugins/aci.py:451 +#: ipalib/plugins/aci.py:459 msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:234 -#: ipalib/plugins/permission.py:144 +#: ipalib/plugins/aci.py:464 ipalib/plugins/permission.py:147 msgid "Filter" msgstr "" -#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:145 +#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:148 msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:150 +#: ipalib/plugins/aci.py:470 ipalib/plugins/permission.py:153 msgid "Subtree" msgstr "" -#: ipalib/plugins/aci.py:461 +#: ipalib/plugins/aci.py:471 msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:156 +#: ipalib/plugins/aci.py:476 ipalib/plugins/permission.py:159 msgid "Target group" msgstr "" -#: ipalib/plugins/aci.py:466 +#: ipalib/plugins/aci.py:477 msgid "Group to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:470 +#: ipalib/plugins/aci.py:482 msgid "Target your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:471 +#: ipalib/plugins/aci.py:483 msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:478 -msgid "" -"\n" -" Create new ACI.\n" -" " -msgstr "" - -#: ipalib/plugins/aci.py:482 +#: ipalib/plugins/aci.py:495 +#, python-format msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:487 +#: ipalib/plugins/aci.py:500 msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/plugins/aci.py:493 +#: ipalib/plugins/aci.py:551 +#, python-format +msgid "Deleted ACI \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/aci.py:595 ipalib/plugins/aci.py:843 +#: ipalib/plugins/aci.py:884 ipalib/plugins/delegation.py:250 +#: ipalib/plugins/selfservice.py:207 +msgid "ACI" +msgstr "" + +#: ipalib/plugins/aci.py:601 +#, python-format +msgid "Modified ACI \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/aci.py:666 +#, python-format +msgid "%(count)d ACI matched" +msgid_plural "%(count)d ACIs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/aci.py:891 +msgid "New ACI name" +msgstr "" + +#: ipalib/plugins/aci.py:895 +#, python-format +msgid "Renamed ACI to \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:28 msgid "" "\n" -" Execute the aci-create operation.\n" +"Auto Membership Rule.\n" "\n" -" Returns the entry as it will be created in LDAP.\n" +"Bring clarity to the membership of hosts and users by configuring inclusive\n" +"or exclusive regex paterns, you can automatically assign a new entries into\n" +"a group or hostgroup based upon attribute information.\n" "\n" -" :param aciname: The name of the ACI being added.\n" -" :param kw: Keyword arguments for the other LDAP attributes.\n" -" " +"A rule is directly associated with a group by name, so you cannot create\n" +"a rule without an accompanying group or hostgroup\n" +"\n" +"A condition is a regular expression used by 389-ds to match a new incoming\n" +"entry with an automember rule. If it matches an inclusive rule then the\n" +"entry is added to the appropriate group or hostgroup.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create the initial group or hostgroup:\n" +" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" +" ipa group-add --desc=\"Developers\" devel\n" +"\n" +" Create the initial rule:\n" +" ipa automember-add --type=hostgroup webservers\n" +" ipa automember-add --type=group devel\n" +"\n" +" Add a condition to the rule:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\\.example\\.com webservers\n" +" ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel\n" +"\n" +" Add an exclusive condition to the rule to prevent auto assignment:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\\.example\\.com webservers\n" +"\n" +" Add a host:\n" +" ipa host-add web1.example.com\n" +"\n" +" Add a user:\n" +" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" +"\n" +" Verify automembership:\n" +" ipa hostgroup-show webservers\n" +" Host-group: webservers\n" +" Description: Web Servers\n" +" Member hosts: web1.example.com\n" +"\n" +" ipa group-show devel\n" +" Group name: devel\n" +" Description: Developers\n" +" GID: 1004200000\n" +" Member users: tuser\n" +"\n" +" Remove a condition from the rule:\n" +" ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\\.example\\.com webservers\n" +"\n" +" Modify the automember rule:\n" +" ipa automember-mod\n" +"\n" +" Set the default target group:\n" +" ipa automember-default-group-set --default-group=webservers --type=hostgroup\n" +" ipa automember-default-group-set --default-group=ipausers --type=group\n" +"\n" +" Set the default target group:\n" +" ipa automember-default-group-remove --type=hostgroup\n" +" ipa automember-default-group-remove --type=group\n" +"\n" +" Show the default target group:\n" +" ipa automember-default-group-show --type=hostgroup\n" +" ipa automember-default-group-show --type=group\n" +"\n" +" Find all of the automember rules:\n" +" ipa automember-find\n" +"\n" +" Display a automember rule:\n" +" ipa automember-show --type=hostgroup webservers\n" +" ipa automember-show --type=group devel\n" +"\n" +" Delete an automember rule:\n" +" ipa automember-del --type=hostgroup webservers\n" +" ipa automember-del --type=group devel\n" msgstr "" -#: ipalib/plugins/aci.py:533 +#: ipalib/plugins/automember.py:114 ipalib/plugins/automember.py:115 +msgid "Inclusive Regex" +msgstr "" + +#: ipalib/plugins/automember.py:121 ipalib/plugins/automember.py:122 +msgid "Exclusive Regex" +msgstr "" + +#: ipalib/plugins/automember.py:127 +msgid "Attribute Key" +msgstr "" + +#: ipalib/plugins/automember.py:128 +msgid "" +"Attribute to filter via regex. For example fqdn for a host, or manager for a" +" user" +msgstr "" + +#: ipalib/plugins/automember.py:135 +msgid "Grouping Type" +msgstr "" + +#: ipalib/plugins/automember.py:136 +msgid "Grouping to which the rule applies" +msgstr "" + +#: ipalib/plugins/automember.py:144 ipalib/plugins/automember.py:145 +msgid "Automember Rule" +msgstr "" + +#: ipalib/plugins/automember.py:166 +msgid "Auto Membership Rule" +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: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 +msgid "Description" +msgstr "" + +#: ipalib/plugins/automember.py:172 +msgid "A description of this auto member rule" +msgstr "" + +#: ipalib/plugins/automember.py:176 ipalib/plugins/automember.py:509 +msgid "Default Group" +msgstr "" + +#: ipalib/plugins/automember.py:177 ipalib/plugins/automember.py:510 +msgid "Default group for entires to land" +msgstr "" + +#: ipalib/plugins/automember.py:188 +#, python-format +msgid "Group: %s not found!" +msgstr "" + +#: ipalib/plugins/automember.py:215 +#, python-format +msgid "%s is not a valid attribute." +msgstr "" + +#: ipalib/plugins/automember.py:228 msgid "" "\n" -" Delete ACI.\n" +" Add an automember rule.\n" " " msgstr "" -#: ipalib/plugins/aci.py:538 -msgid "Deleted ACI \"%(value)s\"" +#: ipalib/plugins/automember.py:233 +#, python-format +msgid "Added automember rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:239 +msgid "Auto Membership is not configured" msgstr "" -#: ipalib/plugins/aci.py:543 +#: ipalib/plugins/automember.py:252 msgid "" "\n" -" Execute the aci-delete operation.\n" +" Add conditions to an automember rule.\n" +" " +msgstr "" + +#: ipalib/plugins/automember.py:257 +msgid "Failed to add" +msgstr "" + +#: ipalib/plugins/automember.py:264 +#, python-format +msgid "Added condition(s) to \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:273 +msgid "Conditions that could not be added" +msgstr "" + +#: ipalib/plugins/automember.py:277 +msgid "Number of conditions added" +msgstr "" + +#: ipalib/plugins/automember.py:286 ipalib/plugins/automember.py:372 +#, python-format +msgid "Auto member rule: %s not found!" +msgstr "" + +#: ipalib/plugins/automember.py:329 +msgid "" "\n" -" :param aciname: The name of the ACI being added.\n" -" :param kw: unused\n" +" Override this so we can add completed and failed to the return result.\n" " " msgstr "" -#: ipalib/plugins/aci.py:576 +#: ipalib/plugins/automember.py:345 msgid "" "\n" -" Modify ACI.\n" +" Remove conditions from an automember rule.\n" " " msgstr "" -#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830 -#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:255 -#: ipalib/plugins/selfservice.py:212 -msgid "ACI" +#: ipalib/plugins/automember.py:350 +#, python-format +msgid "Removed condition(s) to \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:588 -msgid "Modified ACI \"%(value)s\"" +#: ipalib/plugins/automember.py:359 +msgid "Conditions that could not be removed" msgstr "" -#: ipalib/plugins/aci.py:633 +#: ipalib/plugins/automember.py:363 +msgid "Number of conditions removed" +msgstr "" + +#: ipalib/plugins/automember.py:418 msgid "" "\n" -" Search for ACIs.\n" -"\n" -" Returns a list of ACIs\n" -"\n" -" EXAMPLES:\n" +" Override this so we can set completed and failed.\n" +" " +msgstr "" + +#: ipalib/plugins/automember.py:434 +msgid "" "\n" -" To find all ACIs that apply directly to members of the group ipausers:\n" -" ipa aci-find --memberof=ipausers\n" +" Modify an automember rule.\n" +" " +msgstr "" + +#: ipalib/plugins/automember.py:439 +#, python-format +msgid "Modified automember rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:450 +msgid "" "\n" -" To find all ACIs that grant add access:\n" -" ipa aci-find --permissions=add\n" +" Delete an automember rule.\n" +" " +msgstr "" + +#: ipalib/plugins/automember.py:455 +#, python-format +msgid "Deleted automember rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:466 +msgid "" "\n" -" Note that the find command only looks for the given text in the set of\n" -" ACIs, it does not evaluate the ACIs to see if something would apply.\n" -" For example, searching on memberof=ipausers will find all ACIs that\n" -" have ipausers as a memberof. There may be other ACIs that apply to\n" -" members of that group indirectly.\n" +" Search for automember rules.\n" " " msgstr "" -#: ipalib/plugins/aci.py:653 -msgid "%(count)d ACI matched" -msgid_plural "%(count)d ACIs matched" +#: ipalib/plugins/automember.py:473 +#, python-format +msgid "%(count)d rules matched" +msgid_plural "%(count)d rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/aci.py:823 +#: ipalib/plugins/automember.py:486 msgid "" "\n" -" Display a single ACI given an ACI name.\n" +" Display information about an automember rule.\n" " " msgstr "" -#: ipalib/plugins/aci.py:837 +#: ipalib/plugins/automember.py:502 msgid "" "\n" -" Execute the aci-show operation.\n" -"\n" -" Returns the entry\n" -"\n" -" :param uid: The login name of the user to retrieve.\n" -" :param kw: unused\n" -" " +" Set default group for all unmatched entries.\n" +" " msgstr "" -#: ipalib/plugins/aci.py:865 +#: ipalib/plugins/automember.py:514 +#, python-format +msgid "Set default group for automember \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automember.py:531 msgid "" "\n" -" Rename an ACI.\n" +" Remove default group for all unmatched entries.\n" " " msgstr "" -#: ipalib/plugins/aci.py:878 -msgid "New ACI name" +#: ipalib/plugins/automember.py:536 +#, python-format +msgid "Removed default group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:882 -msgid "Renamed ACI to \"%(value)s\"" +#: ipalib/plugins/automember.py:548 +msgid "No default group set" msgstr "" -#: ipalib/plugins/automount.py:20 +#: ipalib/plugins/automember.py:567 +msgid "" +"\n" +" Display information about the default automember groups.\n" +" " +msgstr "" + +#: ipalib/plugins/automount.py:29 msgid "" "\n" "Automount\n" @@ -538,673 +1092,583 @@ msgid "" " ipa automountkey-del baltimore auto.share --key=man\n" msgstr "" -#: ipalib/plugins/automount.py:182 -msgid "" -"\n" -" Location container for automount maps.\n" -" " +#: ipalib/plugins/automount.py:191 +msgid "automount location" +msgstr "" + +#: ipalib/plugins/automount.py:192 +msgid "automount locations" msgstr "" -#: ipalib/plugins/automount.py:190 +#: ipalib/plugins/automount.py:195 msgid "Automount Locations" msgstr "" -#: ipalib/plugins/automount.py:196 ipalib/plugins/host.py:247 +#: ipalib/plugins/automount.py:196 +msgid "Automount Location" +msgstr "" + +#: ipalib/plugins/automount.py:201 ipalib/plugins/host.py:273 msgid "Location" msgstr "" -#: ipalib/plugins/automount.py:197 +#: ipalib/plugins/automount.py:202 msgid "Automount location name." msgstr "" -#: ipalib/plugins/automount.py:206 -msgid "" -"\n" -" Create a new automount location.\n" -" " +#: ipalib/plugins/automount.py:211 +msgid "Create a new automount location." msgstr "" -#: ipalib/plugins/automount.py:221 -msgid "" -"\n" -" Delete an automount location.\n" -" " +#: ipalib/plugins/automount.py:213 +#, python-format +msgid "Added automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:229 -msgid "" -"\n" -" Display an automount location.\n" -" " +#: ipalib/plugins/automount.py:232 +msgid "Delete an automount location." msgstr "" -#: ipalib/plugins/automount.py:237 -msgid "" -"\n" -" Search for an automount location.\n" -" " +#: ipalib/plugins/automount.py:234 +#, python-format +msgid "Deleted automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:245 -msgid "" -"\n" -" Generate automount files for a specific location.\n" -" " +#: ipalib/plugins/automount.py:240 +msgid "Display an automount location." msgstr "" -#: ipalib/plugins/automount.py:308 -msgid "" -"\n" -" Import automount files for a specific location.\n" -" " +#: ipalib/plugins/automount.py:246 +msgid "Search for an automount location." +msgstr "" + +#: ipalib/plugins/automount.py:249 +#, python-format +msgid "%(count)d automount location matched" +msgid_plural "%(count)d automount locations matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/automount.py:257 +msgid "Generate automount files for a specific location." msgstr "" -#: ipalib/plugins/automount.py:314 +#: ipalib/plugins/automount.py:319 +msgid "Import automount files for a specific location." +msgstr "" + +#: ipalib/plugins/automount.py:323 msgid "Master file" msgstr "" -#: ipalib/plugins/automount.py:315 +#: ipalib/plugins/automount.py:324 msgid "Automount master file." msgstr "" -#: ipalib/plugins/automount.py:322 +#: ipalib/plugins/automount.py:331 msgid "" "Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/plugins/automount.py:334 +#: ipalib/plugins/automount.py:343 +#, python-format msgid "File %(file)s not found" msgstr "" -#: ipalib/plugins/automount.py:341 -msgid "" -"\n" -" The basic idea is to read the master file and create all the maps\n" -" we need, then read each map file and add all the keys for the map.\n" -" " +#: ipalib/plugins/automount.py:512 +msgid "automount map" msgstr "" -#: ipalib/plugins/automount.py:492 -msgid "" -"\n" -" Automount map object.\n" -" " +#: ipalib/plugins/automount.py:513 +msgid "automount maps" msgstr "" -#: ipalib/plugins/automount.py:505 +#: ipalib/plugins/automount.py:520 msgid "Map" msgstr "" -#: ipalib/plugins/automount.py:506 +#: ipalib/plugins/automount.py:521 msgid "Automount map name." msgstr "" -#: ipalib/plugins/automount.py:511 ipalib/plugins/group.py:114 -#: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73 -#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:237 -#: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109 -#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:92 -#: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76 -#: ipalib/plugins/sudorule.py:78 -msgid "Description" +#: ipalib/plugins/automount.py:530 +msgid "Automount Maps" msgstr "" -#: ipalib/plugins/automount.py:515 -msgid "Automount Maps" +#: ipalib/plugins/automount.py:531 +msgid "Automount Map" msgstr "" -#: ipalib/plugins/automount.py:521 -msgid "" -"\n" -" Create a new automount map.\n" -" " +#: ipalib/plugins/automount.py:537 +msgid "Create a new automount map." msgstr "" -#: ipalib/plugins/automount.py:529 -msgid "" -"\n" -" Delete an automount map.\n" -" " +#: ipalib/plugins/automount.py:539 +#, python-format +msgid "Added automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:548 -msgid "" -"\n" -" Modify an automount map.\n" -" " +#: ipalib/plugins/automount.py:545 +msgid "Delete an automount map." msgstr "" -#: ipalib/plugins/automount.py:556 -msgid "" -"\n" -" Search for an automount map.\n" -" " +#: ipalib/plugins/automount.py:547 +#, python-format +msgid "Deleted automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:564 -msgid "" -"\n" -" Display an automount map.\n" -" " +#: ipalib/plugins/automount.py:565 +msgid "Modify an automount map." msgstr "" -#: ipalib/plugins/automount.py:572 -msgid "" -"\n" -" Automount key object.\n" -" " +#: ipalib/plugins/automount.py:567 +#, python-format +msgid "Modified automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:778 -#: ipalib/plugins/automount.py:850 +#: ipalib/plugins/automount.py:573 +msgid "Search for an automount map." +msgstr "" + +#: ipalib/plugins/automount.py:576 +#, python-format +msgid "%(count)d automount map matched" +msgid_plural "%(count)d automount maps matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/automount.py:584 +msgid "Display an automount map." +msgstr "" + +#: ipalib/plugins/automount.py:590 +msgid "Automount key object." +msgstr "" + +#: ipalib/plugins/automount.py:594 +msgid "automount key" +msgstr "" + +#: ipalib/plugins/automount.py:595 +msgid "automount keys" +msgstr "" + +#: ipalib/plugins/automount.py:606 ipalib/plugins/automount.py:804 +#: ipalib/plugins/automount.py:911 msgid "Key" msgstr "" -#: ipalib/plugins/automount.py:590 ipalib/plugins/automount.py:779 -#: ipalib/plugins/automount.py:851 +#: ipalib/plugins/automount.py:607 ipalib/plugins/automount.py:805 +#: ipalib/plugins/automount.py:912 msgid "Automount key name." msgstr "" -#: ipalib/plugins/automount.py:594 ipalib/plugins/automount.py:783 -#: ipalib/plugins/automount.py:855 +#: ipalib/plugins/automount.py:612 ipalib/plugins/automount.py:809 +#: ipalib/plugins/automount.py:916 msgid "Mount information" msgstr "" -#: ipalib/plugins/automount.py:597 +#: ipalib/plugins/automount.py:615 msgid "description" msgstr "" -#: ipalib/plugins/automount.py:606 +#: ipalib/plugins/automount.py:624 msgid "Automount Keys" msgstr "" -#: ipalib/plugins/automount.py:607 +#: ipalib/plugins/automount.py:625 +msgid "Automount Key" +msgstr "" + +#: ipalib/plugins/automount.py:626 +#, python-format msgid "" "The key,info pair must be unique. A key named %(key)s with info %(info)s " "already exists" msgstr "" -#: ipalib/plugins/automount.py:608 +#: ipalib/plugins/automount.py:627 +#, python-format msgid "key named %(key)s already exists" msgstr "" -#: ipalib/plugins/automount.py:609 +#: ipalib/plugins/automount.py:628 +#, python-format msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/automount.py:659 +#: ipalib/plugins/automount.py:678 +#, python-format msgid "" "More than one entry with key %(key)s found, use --info to select specific " "entry." msgstr "" -#: ipalib/plugins/automount.py:717 -msgid "" -"\n" -" Create a new automount key.\n" -" " +#: ipalib/plugins/automount.py:736 +msgid "Create a new automount key." msgstr "" -#: ipalib/plugins/automount.py:742 -msgid "" -"\n" -" Create a new indirect mount point.\n" -" " +#: ipalib/plugins/automount.py:738 +#, python-format +msgid "Added automount key \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automount.py:761 +msgid "Create a new indirect mount point." +msgstr "" + +#: ipalib/plugins/automount.py:763 +#, python-format +msgid "Added automount indirect map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:748 +#: ipalib/plugins/automount.py:768 msgid "Mount point" msgstr "" -#: ipalib/plugins/automount.py:752 +#: ipalib/plugins/automount.py:772 msgid "Parent map" msgstr "" -#: ipalib/plugins/automount.py:753 +#: ipalib/plugins/automount.py:773 msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/automount.py:772 -msgid "" -"\n" -" Delete an automount key.\n" -" " +#: ipalib/plugins/automount.py:797 +msgid "Delete an automount key." msgstr "" -#: ipalib/plugins/automount.py:803 -msgid "" -"\n" -" Modify an automount key.\n" -" " +#: ipalib/plugins/automount.py:799 +#, python-format +msgid "Deleted automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:809 +#: ipalib/plugins/automount.py:839 +msgid "Modify an automount key." +msgstr "" + +#: ipalib/plugins/automount.py:841 +#, python-format +msgid "Modified automount key \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/automount.py:846 msgid "New mount information" msgstr "" -#: ipalib/plugins/automount.py:836 -msgid "" -"\n" -" Search for an automount key.\n" -" " +#: ipalib/plugins/automount.py:895 +msgid "Search for an automount key." msgstr "" -#: ipalib/plugins/automount.py:844 -msgid "" -"\n" -" Display an automount key.\n" -" " +#: ipalib/plugins/automount.py:898 +#, python-format +msgid "%(count)d automount key matched" +msgid_plural "%(count)d automount keys matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/automount.py:906 +msgid "Display an automount key." msgstr "" -#: ipalib/plugins/baseldap.py:19 -msgid "" -"\n" -"Base classes for LDAP plugins.\n" +#: ipalib/plugins/baseldap.py:40 ipalib/plugins/entitle.py:487 +#: ipalib/plugins/migration.py:327 ipalib/plugins/user.py:235 +msgid "Password" msgstr "" -#: ipalib/plugins/baseldap.py:39 +#: ipalib/plugins/baseldap.py:43 msgid "Failed members" msgstr "" -#: ipalib/plugins/baseldap.py:42 +#: ipalib/plugins/baseldap.py:46 msgid "Member users" msgstr "" -#: ipalib/plugins/baseldap.py:45 +#: ipalib/plugins/baseldap.py:49 msgid "Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:48 +#: ipalib/plugins/baseldap.py:52 msgid "Member of groups" msgstr "" -#: ipalib/plugins/baseldap.py:51 +#: ipalib/plugins/baseldap.py:55 msgid "Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:54 +#: ipalib/plugins/baseldap.py:58 msgid "Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:57 +#: ipalib/plugins/baseldap.py:61 msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:66 +#: ipalib/plugins/baseldap.py:70 ipalib/plugins/role.py:81 msgid "Roles" msgstr "" -#: ipalib/plugins/baseldap.py:69 ipalib/plugins/sudocmdgroup.py:65 -#: ipalib/plugins/sudocmdgroup.py:84 ipalib/plugins/sudorule.py:139 -#: ipalib/plugins/sudorule.py:143 +#: ipalib/plugins/baseldap.py:73 ipalib/plugins/sudocmdgroup.py:66 +#: ipalib/plugins/sudocmdgroup.py:86 msgid "Sudo Command Groups" msgstr "" -#: ipalib/plugins/baseldap.py:75 +#: ipalib/plugins/baseldap.py:79 msgid "Granting privilege to roles" msgstr "" -#: ipalib/plugins/baseldap.py:78 +#: ipalib/plugins/baseldap.py:82 msgid "Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:81 +#: ipalib/plugins/baseldap.py:85 msgid "Member of netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:84 +#: ipalib/plugins/baseldap.py:88 msgid "Member services" msgstr "" -#: ipalib/plugins/baseldap.py:87 +#: ipalib/plugins/baseldap.py:91 msgid "Member service groups" msgstr "" -#: ipalib/plugins/baseldap.py:93 +#: ipalib/plugins/baseldap.py:97 +msgid "Member HBAC service" +msgstr "" + +#: ipalib/plugins/baseldap.py:100 msgid "Member HBAC service groups" msgstr "" -#: ipalib/plugins/baseldap.py:102 +#: ipalib/plugins/baseldap.py:109 msgid "Indirect Member users" msgstr "" -#: ipalib/plugins/baseldap.py:105 +#: ipalib/plugins/baseldap.py:112 msgid "Indirect Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:108 +#: ipalib/plugins/baseldap.py:115 msgid "Indirect Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:111 +#: ipalib/plugins/baseldap.py:118 msgid "Indirect Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:114 +#: ipalib/plugins/baseldap.py:121 msgid "Indirect Member of roles" msgstr "" -#: ipalib/plugins/baseldap.py:117 +#: ipalib/plugins/baseldap.py:124 msgid "Indirect Member permissions" msgstr "" -#: ipalib/plugins/baseldap.py:120 +#: ipalib/plugins/baseldap.py:127 msgid "Indirect Member HBAC service" msgstr "" -#: ipalib/plugins/baseldap.py:123 +#: ipalib/plugins/baseldap.py:130 msgid "Indirect Member HBAC service group" msgstr "" -#: ipalib/plugins/baseldap.py:126 +#: ipalib/plugins/baseldap.py:133 msgid "Indirect Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:141 +#: ipalib/plugins/baseldap.py:148 msgid "External host" msgstr "" -#: ipalib/plugins/baseldap.py:144 +#: ipalib/plugins/baseldap.py:151 +msgid "Failed source hosts/hostgroups" +msgstr "" + +#: ipalib/plugins/baseldap.py:154 msgid "Failed hosts/hostgroups" msgstr "" -#: ipalib/plugins/baseldap.py:147 +#: ipalib/plugins/baseldap.py:157 msgid "Failed users/groups" msgstr "" -#: ipalib/plugins/baseldap.py:150 +#: ipalib/plugins/baseldap.py:160 +msgid "Failed service/service groups" +msgstr "" + +#: ipalib/plugins/baseldap.py:163 msgid "Failed managedby" msgstr "" -#: ipalib/plugins/baseldap.py:153 +#: ipalib/plugins/baseldap.py:166 msgid "Failed to remove" msgstr "" -#: ipalib/plugins/baseldap.py:171 -msgid "" -"\n" -" Given a list of values in the form name=value, return a list of name.\n" -" " +#: ipalib/plugins/baseldap.py:306 +msgid "entry" msgstr "" -#: ipalib/plugins/baseldap.py:197 -msgid "" -"\n" -" When adding or removing reverse members we are faking an update to\n" -" object A by updating the member attribute in object B. The memberof\n" -" plugin makes this work by adding or removing the memberof attribute\n" -" to/from object A, it just takes a little bit of time.\n" -"\n" -" This will loop for 6+ seconds, retrieving object A so we can see\n" -" if all the memberof attributes have been updated.\n" -" " +#: ipalib/plugins/baseldap.py:307 +msgid "entries" msgstr "" -#: ipalib/plugins/baseldap.py:241 -msgid "" -"\n" -" Object representing a LDAP entry.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:281 +#: ipalib/plugins/baseldap.py:339 ipalib/plugins/baseldap.py:340 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:283 +#: ipalib/plugins/baseldap.py:342 +#, python-format msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:284 +#: ipalib/plugins/baseldap.py:343 +#, python-format msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:285 +#: ipalib/plugins/baseldap.py:344 +#, python-format msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:286 +#: ipalib/plugins/baseldap.py:345 +#, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:415 -msgid "" -"Add an attribute/value pair. Format is attr=value. The attribute must be " -"part of the schema." -msgstr "" - -#: ipalib/plugins/baseldap.py:420 +#: ipalib/plugins/baseldap.py:632 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." msgstr "" -#: ipalib/plugins/baseldap.py:444 +#: ipalib/plugins/baseldap.py:638 msgid "" -"\n" -" If the set of objectclasses is limited enforce that only those\n" -" are updated in entry_attrs (plus dn)\n" -"\n" -" allow_only tells us what mode to check in:\n" -"\n" -" If True then we enforce that the attributes must be in the list of\n" -" allowed.\n" -"\n" -" If False then those attributes are not allowed.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:474 -msgid "" -"\n" -" Callback registration interface\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:561 -msgid "" -"\n" -" Create a new entry in LDAP.\n" -" " +"Add an attribute/value pair. Format is attr=value. The attribute\n" +"must be part of the schema." msgstr "" -#: ipalib/plugins/baseldap.py:703 +#: ipalib/plugins/baseldap.py:644 msgid "" -"\n" -" Base class for commands that need to retrieve an existing entry.\n" -" " +"Delete an attribute/value pair. The option will be evaluated\n" +"last, after all sets and adds." msgstr "" -#: ipalib/plugins/baseldap.py:727 -msgid "" -"\n" -" Base class for commands that need to retrieve one or more existing entries.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:733 +#: ipalib/plugins/baseldap.py:965 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:750 -msgid "" -"\n" -" Retrieve an LDAP entry.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:758 ipalib/plugins/baseldap.py:827 -#: ipalib/plugins/internal.py:232 +#: ipalib/plugins/baseldap.py:990 ipalib/plugins/baseldap.py:1062 +#: ipalib/plugins/internal.py:409 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:759 ipalib/plugins/baseldap.py:828 +#: 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:821 -msgid "" -"\n" -" Update an LDAP entry.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:837 +#: ipalib/plugins/baseldap.py:1072 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:838 +#: ipalib/plugins/baseldap.py:1073 +#, python-format msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:957 +#: ipalib/plugins/baseldap.py:1165 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:988 -msgid "" -"\n" -" Delete an LDAP entry and all of its direct subentries.\n" -" " +#: ipalib/plugins/baseldap.py:1290 ipalib/plugins/baseldap.py:1782 +#, python-format +msgid "comma-separated list of %s" msgstr "" -#: ipalib/plugins/baseldap.py:1078 -msgid "" -"\n" -" Base class for member manipulation.\n" -" " +#: ipalib/plugins/baseldap.py:1302 +#, python-format +msgid "member %s" msgstr "" -#: ipalib/plugins/baseldap.py:1120 -msgid "" -"\n" -" Add other LDAP entries to members.\n" -" " +#: 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:1131 ipalib/plugins/baseldap.py:1592 -#: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191 -#: ipalib/plugins/role.py:179 ipalib/plugins/role.py:203 +#: 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:1135 ipalib/plugins/baseldap.py:1596 +#: ipalib/plugins/baseldap.py:1344 ipalib/plugins/baseldap.py:1823 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1226 -msgid "" -"\n" -" Remove LDAP entries from members.\n" -" " +#: 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:1236 ipalib/plugins/baseldap.py:1705 +#: ipalib/plugins/baseldap.py:1445 ipalib/plugins/baseldap.py:1932 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1240 ipalib/plugins/baseldap.py:1709 +#: ipalib/plugins/baseldap.py:1449 ipalib/plugins/baseldap.py:1936 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1335 -msgid "" -"\n" -" Retrieve all LDAP entries matching the given criteria.\n" -" " +#: ipalib/plugins/baseldap.py:1548 +#, python-format +msgid "Search for %s with these %s %s." +msgstr "" + +#: ipalib/plugins/baseldap.py:1549 +#, python-format +msgid "Search for %s without these %s %s." msgstr "" -#: ipalib/plugins/baseldap.py:1344 +#: ipalib/plugins/baseldap.py:1557 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1345 +#: ipalib/plugins/baseldap.py:1558 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:1351 +#: ipalib/plugins/baseldap.py:1564 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1352 +#: ipalib/plugins/baseldap.py:1565 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/baseldap.py:1552 -msgid "" -"\n" -" Base class for reverse member manipulation.\n" -" " +#: ipalib/plugins/baseldap.py:1586 +msgid "Primary key only" msgstr "" -#: ipalib/plugins/baseldap.py:1574 -msgid "" -"\n" -" Add other LDAP entries to members in reverse.\n" -"\n" -" The call looks like \"add A to B\" but in fact executes\n" -" add B to A to handle reverse membership.\n" -" " +#: ipalib/plugins/baseldap.py:1587 +#, python-format +msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -#: ipalib/plugins/baseldap.py:1654 +#: ipalib/plugins/baseldap.py:1881 msgid "added" msgstr "" -#: ipalib/plugins/baseldap.py:1687 -msgid "" -"\n" -" Remove other LDAP entries from members in reverse.\n" -"\n" -" The call looks like \"remove A from B\" but in fact executes\n" -" remove B from A to handle reverse membership.\n" -" " -msgstr "" - -#: ipalib/plugins/baseldap.py:1767 +#: ipalib/plugins/baseldap.py:1994 msgid "removed" msgstr "" -#: ipalib/plugins/batch.py:21 -msgid "" -"\n" -"Plugin to make multiple ipa calls via one remote procedure call\n" -"\n" -"To run this code in the lite-server\n" -"\n" -"curl -H \"Content-Type:application/json\" -H \"Accept:application/json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json\n" -"\n" -"where the contents of the file batch_request.json follow the below example\n" -"\n" -"{\"method\":\"batch\",\"params\":[[\n" -" {\"method\":\"group_find\",\"params\":[[],{}]},\n" -" {\"method\":\"user_find\",\"params\":[[],{\"whoami\":\"true\",\"all\":\"true\"}]},\n" -" {\"method\":\"user_show\",\"params\":[[\"admin\"],{\"all\":true}]}\n" -" ],{}],\"id\":1}\n" -"\n" -"The format of the response is nested the same way. At the top you will see\n" -" \"error\": null,\n" -" \"id\": 1,\n" -" \"result\": {\n" -" \"count\": 3,\n" -" \"results\": [\n" -"\n" -"\n" -"And then a nested response for each IPA command method sent in the request\n" -"\n" -msgstr "" - -#: ipalib/plugins/batch.py:61 +#: ipalib/plugins/batch.py:62 msgid "Nested Methods to execute" msgstr "" -#: ipalib/plugins/batch.py:68 ipalib/frontend.py:861 -msgid "Client version. Used to determine if server will accept request." -msgstr "" - -#: ipalib/plugins/cert.py:22 +#: ipalib/plugins/cert.py:43 msgid "" "\n" "IPA certificate operations\n" @@ -1266,155 +1730,106 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/cert.py:104 -msgid "" -"\n" -" Return the value of CN in the subject of the request or None\n" -" " -msgstr "" - #: ipalib/plugins/cert.py:112 msgid "Failure decoding Certificate Signing Request:" msgstr "" -#: ipalib/plugins/cert.py:115 -msgid "" -"\n" -" Return the first value of the subject alt name, if any\n" -" " -msgstr "" - -#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:137 +#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:142 msgid "Failure decoding Certificate Signing Request" msgstr "" -#: ipalib/plugins/cert.py:128 -msgid "" -"\n" -" Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n" -" parser.\n" -" " -msgstr "" - -#: ipalib/plugins/cert.py:139 +#: ipalib/plugins/cert.py:144 +#, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/cert.py:142 -msgid "" -"\n" -" Strip any leading and trailing cruft around the BEGIN/END block\n" -" " -msgstr "" - -#: ipalib/plugins/cert.py:162 -msgid "" -"\n" -" Convert a SN given in decimal or hexadecimal.\n" -" Returns the number or None if conversion fails.\n" -" " +#: ipalib/plugins/cert.py:207 +msgid "Submit a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:188 -msgid "" -"\n" -" Given a principal with or without a realm return the\n" -" host portion.\n" -" " -msgstr "" - -#: ipalib/plugins/cert.py:202 -msgid "" -"\n" -" Submit a certificate signing request.\n" -" " +#: ipalib/plugins/cert.py:211 +msgid "CSR" msgstr "" -#: ipalib/plugins/cert.py:216 ipalib/plugins/service.py:225 +#: ipalib/plugins/cert.py:220 ipalib/plugins/service.py:228 msgid "Principal" msgstr "" -#: ipalib/plugins/cert.py:217 +#: ipalib/plugins/cert.py:221 msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/cert.py:224 +#: ipalib/plugins/cert.py:228 msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:232 ipalib/plugins/cert.py:439 -#: ipalib/plugins/entitle.py:173 ipalib/plugins/host.py:276 -#: 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:236 ipalib/plugins/cert.py:442 -#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:93 +#: 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:240 ipalib/plugins/cert.py:445 -#: ipalib/plugins/host.py:165 ipalib/plugins/service.py:99 +#: 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:244 ipalib/plugins/cert.py:448 -#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:102 +#: 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:248 ipalib/plugins/cert.py:451 -#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:105 +#: 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:252 ipalib/plugins/cert.py:454 -#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:108 +#: 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:256 ipalib/plugins/cert.py:457 -#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:111 +#: 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:260 ipalib/plugins/cert.py:425 +#: ipalib/plugins/cert.py:264 ipalib/plugins/cert.py:427 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:268 ipalib/plugins/entitle.py:230 -#: ipalib/plugins/entitle.py:588 ipalib/plugins/misc.py:57 +#: 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:396 -msgid "" -"\n" -" Check the status of a certificate signing request.\n" -" " +#: ipalib/plugins/cert.py:400 +msgid "Check the status of a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:402 +#: ipalib/plugins/cert.py:404 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:408 +#: ipalib/plugins/cert.py:410 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:426 +#: ipalib/plugins/cert.py:428 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:431 -msgid "" -"\n" -" Retrieve an existing certificate.\n" -" " +#: ipalib/plugins/cert.py:433 +msgid "Retrieve an existing certificate." msgstr "" -#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:180 -#: ipalib/plugins/service.py:114 +#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:196 +#: ipalib/plugins/service.py:115 msgid "Revocation reason" msgstr "" @@ -1427,189 +1842,171 @@ msgid "File to store the certificate in." msgstr "" #: ipalib/plugins/cert.py:518 -msgid "" -"\n" -" Revoke a certificate.\n" -" " +msgid "Revoke a certificate." msgstr "" -#: ipalib/plugins/cert.py:526 +#: ipalib/plugins/cert.py:524 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:534 +#: ipalib/plugins/cert.py:532 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:535 +#: ipalib/plugins/cert.py:533 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:562 -msgid "" -"\n" -" Take a revoked certificate off hold.\n" -" " +#: ipalib/plugins/cert.py:554 +msgid "7 is not a valid revocation reason" +msgstr "" + +#: 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/cert.py:572 ipalib/plugins/internal.py:225 msgid "Error" msgstr "" -#: ipalib/plugins/config.py:20 +#: 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" -"\n" -"The available options are:\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" -"User management options:\n" +"Some attributes are read-only, provided only for information purposes. These\n" +"include:\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" +"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" -"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" msgstr "" -#: ipalib/plugins/config.py:76 +#: ipalib/plugins/config.py:73 msgid "searchtimelimit must be -1 or > 1." msgstr "" #: ipalib/plugins/config.py:80 -msgid "" -"\n" -" IPA configuration object\n" -" " +msgid "configuration options" msgstr "" -#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:151 +#: ipalib/plugins/config.py:89 ipalib/plugins/config.py:90 msgid "Configuration" msgstr "" -#: ipalib/plugins/config.py:96 -msgid "Max. username length" +#: ipalib/plugins/config.py:95 +msgid "Maximum username length" msgstr "" -#: ipalib/plugins/config.py:101 +#: ipalib/plugins/config.py:100 msgid "Home directory base" msgstr "" -#: ipalib/plugins/config.py:102 -msgid "Default location of home directories." +#: ipalib/plugins/config.py:101 +msgid "Default location of home directories" msgstr "" -#: ipalib/plugins/config.py:106 +#: ipalib/plugins/config.py:105 msgid "Default shell" msgstr "" -#: ipalib/plugins/config.py:107 -msgid "Default shell for new users." +#: ipalib/plugins/config.py:106 +msgid "Default shell for new users" msgstr "" -#: ipalib/plugins/config.py:111 +#: ipalib/plugins/config.py:110 msgid "Default users group" msgstr "" -#: ipalib/plugins/config.py:112 -msgid "Default group for new users." -msgstr "" - -#: ipalib/plugins/config.py:116 -msgid "Default e-mail domain for new users" +#: ipalib/plugins/config.py:111 +msgid "Default group for new users" msgstr "" -#: ipalib/plugins/config.py:117 -msgid "Default e-mail domain new users." +#: ipalib/plugins/config.py:115 ipalib/plugins/config.py:116 +msgid "Default e-mail domain" msgstr "" -#: ipalib/plugins/config.py:121 +#: ipalib/plugins/config.py:120 msgid "Search time limit" msgstr "" -#: ipalib/plugins/config.py:122 -msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)." +#: ipalib/plugins/config.py:121 +msgid "" +"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" msgstr "" -#: ipalib/plugins/config.py:127 +#: ipalib/plugins/config.py:126 msgid "Search size limit" msgstr "" -#: ipalib/plugins/config.py:128 -msgid "Max. number of records to search (-1 is unlimited)." +#: ipalib/plugins/config.py:127 +msgid "Maximum number of records to search (-1 is unlimited)" msgstr "" -#: ipalib/plugins/config.py:133 +#: ipalib/plugins/config.py:132 msgid "User search fields" msgstr "" -#: ipalib/plugins/config.py:134 -msgid "A comma-separated list of fields to search when searching for users." -msgstr "" - -#: ipalib/plugins/config.py:139 -msgid "A comma-separated list of fields to search when searching for groups." +#: ipalib/plugins/config.py:133 +msgid "A comma-separated list of fields to search in when searching for users" msgstr "" -#: ipalib/plugins/config.py:143 -msgid "Migration mode" +#: ipalib/plugins/config.py:138 +msgid "" +"A comma-separated list of fields to search in when searching for groups" msgstr "" -#: ipalib/plugins/config.py:144 -msgid "Enable migration mode." +#: ipalib/plugins/config.py:142 ipalib/plugins/config.py:143 +msgid "Enable migration mode" msgstr "" -#: ipalib/plugins/config.py:148 +#: ipalib/plugins/config.py:147 msgid "Certificate Subject base" msgstr "" -#: ipalib/plugins/config.py:149 -msgid "Base for certificate subjects (OU=Test,O=Example)." +#: ipalib/plugins/config.py:148 +msgid "Base for certificate subjects (OU=Test,O=Example)" msgstr "" -#: ipalib/plugins/config.py:154 +#: ipalib/plugins/config.py:153 msgid "Default group objectclasses" msgstr "" -#: ipalib/plugins/config.py:155 -msgid "Default group objectclassses (comma-separated list)." +#: ipalib/plugins/config.py:154 +msgid "Default group objectclasses (comma-separated list)" msgstr "" #: ipalib/plugins/config.py:159 @@ -1617,40 +2014,52 @@ msgid "Default user objectclasses" msgstr "" #: ipalib/plugins/config.py:160 -msgid "Default user objectclassses (comma-separated list)." +msgid "Default user objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/config.py:164 -msgid "Password Expiration Notification" +#: ipalib/plugins/config.py:165 +msgid "Password Expiration Notification (days)" msgstr "" -#: ipalib/plugins/config.py:165 -msgid "Number of days's notice of impending password expiration." +#: ipalib/plugins/config.py:166 +msgid "Number of days's notice of impending password expiration" msgstr "" -#: ipalib/plugins/config.py:170 +#: ipalib/plugins/config.py:171 msgid "Password plugin features" msgstr "" -#: ipalib/plugins/config.py:171 -msgid "Extra hashes to generate in password plug-in." +#: ipalib/plugins/config.py:172 +msgid "Extra hashes to generate in password plug-in" msgstr "" -#: ipalib/plugins/config.py:183 -msgid "" -"\n" -" Modify configuration options.\n" -" " +#: ipalib/plugins/config.py:184 +msgid "Modify configuration options." msgstr "" -#: ipalib/plugins/config.py:220 -msgid "" -"\n" -" Show the current configuration.\n" -" " +#: ipalib/plugins/config.py:192 +msgid "The group doesn't exist" +msgstr "" + +#: ipalib/plugins/config.py:207 +#, python-format +msgid "attribute \"%s\" not allowed" +msgstr "" + +#: ipalib/plugins/config.py:215 +msgid "May not be empty" +msgstr "" + +#: ipalib/plugins/config.py:228 +#, python-format +msgid "%s default attribute %s would not be allowed!" msgstr "" -#: ipalib/plugins/delegation.py:19 +#: ipalib/plugins/config.py:237 +msgid "Show the current configuration." +msgstr "" + +#: ipalib/plugins/delegation.py:28 msgid "" "\n" "Group to Group Delegation\n" @@ -1664,130 +2073,107 @@ msgid "" "\n" "EXAMPLES:\n" "\n" -" Add a delegation rule to allow editors to edit admin's addresses:\n" -" ipa delegation-add --attrs=street --membergroup=admins --group=editors 'editors edit admins street'\n" +" Add a delegation rule to allow managers to edit employee's addresses:\n" +" ipa delegation-add --attrs=street --membergroup=managers --group=employees \"managers edit employees' street\"\n" "\n" " When managing the list of attributes you need to include all attributes\n" " in the list, including existing ones. Add postalCode to the list:\n" -" ipa delegation-mod --attrs=street,postalCode --membergroup=admins --group=editors 'editors edit admins street'\n" +" ipa delegation-mod --attrs=street,postalCode --membergroup=managers --group=employees \"managers edit employees' street\"\n" "\n" " Display our updated rule:\n" -" ipa delegation-show 'editors edit admins street'\n" +" ipa delegation-show \"managers edit employees' street\"\n" "\n" " Delete a rule:\n" -" ipa delegation-del 'editors edit admins street'\n" -msgstr "" - -#: ipalib/plugins/delegation.py:56 -msgid "" -"\n" -" memberOf is in filter but we want to pull out the group for easier\n" -" displaying.\n" -" " +" ipa delegation-del \"managers edit employees' street\"\n" msgstr "" -#: ipalib/plugins/delegation.py:63 ipalib/plugins/delegation.py:90 +#: ipalib/plugins/delegation.py:64 ipalib/plugins/delegation.py:91 +#, python-format msgid "Delegation '%(permission)s' not found" msgstr "" -#: ipalib/plugins/delegation.py:70 +#: ipalib/plugins/delegation.py:71 +#, python-format msgid "Error retrieving member group %(group)s: %(error)s" msgstr "" -#: ipalib/plugins/delegation.py:79 -msgid "" -"\n" -" Determine if the ACI is a Delegation ACI and raise an exception if it\n" -" isn't.\n" -"\n" -" Return the result if it is a delegation ACI, adding a new attribute\n" -" membergroup.\n" -" " +#: ipalib/plugins/delegation.py:101 +msgid "delegation" msgstr "" -#: ipalib/plugins/delegation.py:95 -msgid "" -"\n" -" Delegation object.\n" -" " +#: ipalib/plugins/delegation.py:102 +msgid "delegations" msgstr "" -#: ipalib/plugins/delegation.py:102 +#: ipalib/plugins/delegation.py:103 +msgid "Delegations" +msgstr "" + +#: ipalib/plugins/delegation.py:104 msgid "Delegation" msgstr "" -#: ipalib/plugins/delegation.py:107 ipalib/plugins/delegation.py:108 +#: ipalib/plugins/delegation.py:109 ipalib/plugins/delegation.py:110 msgid "Delegation name" msgstr "" -#: ipalib/plugins/delegation.py:114 ipalib/plugins/selfservice.py:87 +#: ipalib/plugins/delegation.py:116 ipalib/plugins/selfservice.py:89 msgid "" "Comma-separated list of permissions to grant (read, write). Default is " "write." msgstr "" -#: ipalib/plugins/delegation.py:125 +#: ipalib/plugins/delegation.py:129 msgid "Member user group" msgstr "" -#: ipalib/plugins/delegation.py:126 +#: ipalib/plugins/delegation.py:130 msgid "User group to apply delegation to" msgstr "" -#: ipalib/plugins/delegation.py:152 -msgid "" -"\n" -" Add a new delegation.\n" -" " +#: 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 -msgid "" -"\n" -" Delete a delegation.\n" -" " +#: ipalib/plugins/delegation.py:178 +msgid "Delete a delegation." msgstr "" #: ipalib/plugins/delegation.py:181 +#, python-format msgid "Deleted delegation \"%(value)s\"" msgstr "" #: ipalib/plugins/delegation.py:197 -msgid "" -"\n" -" Modify a delegation.\n" -" " +msgid "Modify a delegation." msgstr "" -#: ipalib/plugins/delegation.py:201 +#: ipalib/plugins/delegation.py:199 +#, python-format msgid "Modified delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:219 -msgid "" -"\n" -" Search for delegations.\n" -" " +#: ipalib/plugins/delegation.py:217 +msgid "Search for delegations." msgstr "" -#: ipalib/plugins/delegation.py:223 +#: 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:250 -msgid "" -"\n" -" Display information about a delegation.\n" -" " +#: ipalib/plugins/delegation.py:246 +msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:20 +#: ipalib/plugins/dns.py:35 msgid "" "\n" "Domain Name System (DNS)\n" @@ -1800,6 +2186,14 @@ 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" +"\n" " Add second nameserver for example.com:\n" " ipa dnsrecord-add example.com @ --ns-rec nameserver2.example.com\n" "\n" @@ -1809,11 +2203,14 @@ 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" " Add new PTR record for www.example.com\n" -" ipa dnsrecord-add 15.142.80.in-addr.arpa 2 --ptr-rec www.example.com.\n" +" ipa dnsrecord-add 15.142.80.in-addr.arpa. 2 --ptr-rec www.example.com.\n" "\n" " Add new SRV records for LDAP servers. Three quarters of the requests\n" " should go to fast.example.com, one quarter to slow.example.com. If neither\n" @@ -1839,7 +2236,7 @@ msgid "" "\n" " A record: 1.2.3.4, 11.22.33.44\n" "\n" -" Delete A record '1.2.3.4'? Yes/No (default No): \n" +" Delete A record '1.2.3.4'? Yes/No (default No):\n" " Delete A record '11.22.33.44'? Yes/No (default No): y\n" " Record name: www\n" " A record: 1.2.3.4 (A record 11.22.33.44 has been deleted)\n" @@ -1868,357 +2265,564 @@ msgid "" " ipa dns-resolve www\n" msgstr "" -#: ipalib/plugins/dns.py:140 -msgid "Generate serial number for zones." +#: 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:189 -msgid "see RFC 2915 " +#: 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 "Nameserver '%(host)s' does not have a corresponding A/AAAA record" +msgid "" +"format must be specified as \"subtype hostname\" (see RFC 1183 for details)" msgstr "" -#: ipalib/plugins/dns.py:272 +#: 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 "" -"\n" -" DNS Zone, container for resource records.\n" -" " +"format must be specified as \"type key_tag algorithm certificate_or_crl\" " +"(see RFC 4398 for details)" msgstr "" -#: ipalib/plugins/dns.py:284 -msgid "DNS" +#: 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:289 +#: 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:638 +msgid "DNS zone" +msgstr "" + +#: ipalib/plugins/dns.py:639 +msgid "DNS zones" +msgstr "" + +#: ipalib/plugins/dns.py:646 +msgid "DNS Zones" +msgstr "" + +#: ipalib/plugins/dns.py:647 +msgid "DNS Zone" +msgstr "" + +#: ipalib/plugins/dns.py:652 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:290 +#: ipalib/plugins/dns.py:653 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:296 +#: ipalib/plugins/dns.py:659 +msgid "Reverse zone IP network" +msgstr "" + +#: ipalib/plugins/dns.py:660 +msgid "IP network to create reverse zone name from" +msgstr "" + +#: ipalib/plugins/dns.py:665 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:297 -msgid "Authoritative nameserver." +#: ipalib/plugins/dns.py:666 +msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/dns.py:301 ipalib/plugins/dns.py:302 +#: ipalib/plugins/dns.py:671 ipalib/plugins/dns.py:672 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:308 +#: ipalib/plugins/dns.py:678 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:309 +#: ipalib/plugins/dns.py:679 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:316 +#: ipalib/plugins/dns.py:686 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:317 +#: ipalib/plugins/dns.py:687 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:324 +#: ipalib/plugins/dns.py:694 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:325 +#: ipalib/plugins/dns.py:695 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:332 +#: ipalib/plugins/dns.py:702 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:333 +#: ipalib/plugins/dns.py:703 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:340 +#: ipalib/plugins/dns.py:710 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:341 +#: ipalib/plugins/dns.py:711 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:349 +#: ipalib/plugins/dns.py:719 msgid "SOA time to live" msgstr "" -#: ipalib/plugins/dns.py:350 +#: ipalib/plugins/dns.py:720 msgid "SOA record time to live" msgstr "" -#: ipalib/plugins/dns.py:354 +#: ipalib/plugins/dns.py:724 msgid "SOA class" msgstr "" -#: ipalib/plugins/dns.py:355 +#: ipalib/plugins/dns.py:725 msgid "SOA record class" msgstr "" -#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:361 +#: ipalib/plugins/dns.py:730 ipalib/plugins/dns.py:731 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:365 +#: ipalib/plugins/dns.py:735 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:366 +#: ipalib/plugins/dns.py:736 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:372 +#: ipalib/plugins/dns.py:742 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:373 +#: ipalib/plugins/dns.py:743 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:382 -msgid "" -"\n" -" Create new DNS zone (SOA record).\n" -" " +#: ipalib/plugins/dns.py:754 +msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:387 ipalib/plugins/dns.py:697 -#: ipalib/plugins/host.py:315 ipalib/plugins/service.py:250 +#: 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:388 +#: ipalib/plugins/dns.py:759 msgid "Force DNS zone creation even if nameserver not in DNS." msgstr "" -#: ipalib/plugins/dns.py:391 +#: ipalib/plugins/dns.py:762 msgid "Add the nameserver to DNS with this IP address" msgstr "" -#: ipalib/plugins/dns.py:397 +#: ipalib/plugins/dns.py:775 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:431 -msgid "" -"\n" -" Delete DNS zone (SOA record).\n" -" " +#: ipalib/plugins/dns.py:785 +msgid "Nameserver address is not a fully qualified domain name" msgstr "" -#: ipalib/plugins/dns.py:439 -msgid "" -"\n" -" Modify DNS zone (SOA record).\n" -" " +#: ipalib/plugins/dns.py:811 +msgid "Delete DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:452 -msgid "" -"\n" -" Search for DNS zones (SOA records).\n" -" " +#: ipalib/plugins/dns.py:817 +msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:460 -msgid "" -"\n" -" Display information about a DNS zone (SOA record).\n" -" " +#: ipalib/plugins/dns.py:830 +msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/dns.py:468 -msgid "" -"\n" -" Disable DNS Zone.\n" -" " +#: ipalib/plugins/dns.py:848 +msgid "Forward zones only" msgstr "" -#: ipalib/plugins/dns.py:472 -msgid "Disabled DNS zone \"%(value)s\"" +#: ipalib/plugins/dns.py:850 +msgid "Search for forward zones only" msgstr "" -#: ipalib/plugins/dns.py:490 -msgid "" -"\n" -" Enable DNS Zone.\n" -" " +#: ipalib/plugins/dns.py:869 +msgid "Display information about a DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:494 -msgid "Enabled DNS zone \"%(value)s\"" +#: ipalib/plugins/dns.py:875 +msgid "Disable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:512 -msgid "" -"\n" -" DNS record.\n" -" " +#: ipalib/plugins/dns.py:878 +#, python-format +msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:522 -msgid "DNS resource record" +#: ipalib/plugins/dns.py:896 +msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:527 ipalib/plugins/dns.py:528 -msgid "Record name" +#: ipalib/plugins/dns.py:899 +#, python-format +msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:533 ipalib/plugins/dns.py:534 -msgid "Time to live" +#: ipalib/plugins/dns.py:922 +msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:538 -msgid "Class" +#: ipalib/plugins/dns.py:923 +msgid "DNS resource records" msgstr "" -#: ipalib/plugins/dns.py:539 -msgid "DNS class" +#: ipalib/plugins/dns.py:927 +msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/dns.py:566 -msgid "" -"\n" -" Base class for DNS record commands with record options.\n" -" " +#: ipalib/plugins/dns.py:928 +msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/dns.py:610 -msgid "" -"\n" -" Base class for adding/removing records from DNS resource entries.\n" -" " +#: ipalib/plugins/dns.py:933 ipalib/plugins/dns.py:934 +msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:674 -msgid "" -"\n" -" Add records to DNS resource.\n" -" " +#: ipalib/plugins/dns.py:939 ipalib/plugins/dns.py:940 +msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:690 -msgid "" -"\n" -" Add new DNS resource record.\n" -" " +#: ipalib/plugins/dns.py:944 +msgid "Class" msgstr "" -#: ipalib/plugins/dns.py:699 -msgid "force NS record creation even if its hostname is not in DNS" +#: ipalib/plugins/dns.py:945 +msgid "DNS class" msgstr "" -#: ipalib/plugins/dns.py:735 +#: 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:740 +#: ipalib/plugins/dns.py:977 +#, python-format msgid "Reverse zone %s requires exactly %d IP address components, %d given" msgstr "" -#: ipalib/plugins/dns.py:746 -msgid "PTR record '%s' is not fully qualified (check traling '.')" +#: ipalib/plugins/dns.py:1149 +msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:789 -msgid "" -"\n" -" Delete DNS record entry.\n" -" " +#: ipalib/plugins/dns.py:1157 +msgid "force NS record creation even if its hostname is not in DNS" +msgstr "" + +#: ipalib/plugins/dns.py:1210 +msgid "Modify a DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:792 +#: ipalib/plugins/dns.py:1250 +#, python-format msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:799 -msgid "" -"\n" -" Delete DNS resource record.\n" -" " +#: ipalib/plugins/dns.py:1257 +msgid "Delete DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:802 +#: 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:807 +#: ipalib/plugins/dns.py:1264 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:834 +#: ipalib/plugins/dns.py:1291 msgid "No option to delete specific record provided." msgstr "" -#: ipalib/plugins/dns.py:835 +#: ipalib/plugins/dns.py:1292 msgid "Delete all?" msgstr "" -#: ipalib/plugins/dns.py:845 +#: ipalib/plugins/dns.py:1302 msgid "Current DNS record contents:\n" msgstr "" -#: ipalib/plugins/dns.py:875 +#: ipalib/plugins/dns.py:1316 +#, python-format +msgid "Delete %s '%s'?" +msgstr "" + +#: ipalib/plugins/dns.py:1331 +#, python-format msgid "%s record with value %s not found" msgstr "" -#: ipalib/plugins/dns.py:889 -msgid "" -"\n" -" Display DNS resource.\n" -" " +#: ipalib/plugins/dns.py:1345 +msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/dns.py:905 -msgid "" -"\n" -" Search for DNS resources.\n" -" " +#: ipalib/plugins/dns.py:1360 +msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/dns.py:932 -msgid "" -"\n" -" Resolve a host name in DNS\n" -" " +#: ipalib/plugins/dns.py:1386 +msgid "Resolve a host name in DNS." msgstr "" -#: ipalib/plugins/dns.py:936 +#: ipalib/plugins/dns.py:1389 +#, python-format msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:940 +#: ipalib/plugins/dns.py:1393 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:962 +#: ipalib/plugins/dns.py:1415 +#, python-format msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/dns.py:970 -msgid "" -"\n" -" Checks if any of the servers has the DNS service enabled.\n" -" " -msgstr "" - -#: ipalib/plugins/entitle.py:19 +#: ipalib/plugins/entitle.py:52 msgid "" "\n" "Entitlements\n" @@ -2255,183 +2859,128 @@ msgid "" "Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n" msgstr "" -#: ipalib/plugins/entitle.py:106 -msgid "" -"\n" -" Get our entitlement pool. Assume there is only one pool.\n" -" " +#: ipalib/plugins/entitle.py:183 +msgid "entitlement" msgstr "" -#: ipalib/plugins/entitle.py:129 -msgid "" -"\n" -" Retrieve our UUID, certificate and key from LDAP.\n" -"\n" -" Except on error the caller is responsible for removing temporary files\n" -" " +#: ipalib/plugins/entitle.py:184 +msgid "entitlements" msgstr "" -#: ipalib/plugins/entitle.py:178 -msgid "" -"\n" -" Entitlement object\n" -" " +#: ipalib/plugins/entitle.py:190 +msgid "Entitlements" msgstr "" -#: ipalib/plugins/entitle.py:189 -msgid "Entitlements" +#: ipalib/plugins/entitle.py:191 +msgid "Entitlement" msgstr "" -#: ipalib/plugins/entitle.py:206 -msgid "" -"\n" -" Display current entitlements\n" -" " +#: ipalib/plugins/entitle.py:208 +msgid "Display current entitlements." msgstr "" -#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:602 +#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:597 msgid "UUID" msgstr "" -#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:306 -#: ipalib/plugins/entitle.py:388 ipalib/plugins/entitle.py:575 -#: ipalib/plugins/entitle.py:690 +#: 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:331 msgid "Product" msgstr "" -#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:286 -#: ipalib/plugins/entitle.py:296 ipalib/plugins/entitle.py:391 -#: ipalib/plugins/entitle.py:578 ipalib/plugins/entitle.py:680 +#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:284 +#: ipalib/plugins/entitle.py:294 ipalib/plugins/entitle.py:387 +#: ipalib/plugins/entitle.py:573 ipalib/plugins/entitle.py:673 msgid "Quantity" msgstr "" -#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:309 -#: ipalib/plugins/entitle.py:581 ipalib/plugins/entitle.py:693 +#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:307 +#: ipalib/plugins/entitle.py:576 ipalib/plugins/entitle.py:686 +#: ipalib/plugins/internal.py:322 msgid "Consumed" msgstr "" #: ipalib/plugins/entitle.py:276 -msgid "" -"\n" -" Consume an entitlement\n" -" " +msgid "Consume an entitlement." msgstr "" -#: ipalib/plugins/entitle.py:282 +#: ipalib/plugins/entitle.py:280 +#, python-format msgid "Consumed %(value)s entitlement(s)." msgstr "" -#: ipalib/plugins/entitle.py:314 -msgid "" -"\n" -" Override this so we can set value to the number of entitlements\n" -" consumed.\n" -" " +#: ipalib/plugins/entitle.py:378 +msgid "Retrieve the entitlement certs." msgstr "" -#: ipalib/plugins/entitle.py:362 ipalib/plugins/entitle.py:724 -msgid "" -"\n" -" Returning the certificates isn't very interesting. Return the\n" -" status of entitlements instead.\n" -" " -msgstr "" - -#: ipalib/plugins/entitle.py:380 -msgid "" -"\n" -" Retrieve the entitlement certs\n" -" " -msgstr "" - -#: ipalib/plugins/entitle.py:394 +#: ipalib/plugins/entitle.py:390 ipalib/plugins/internal.py:334 msgid "Start" msgstr "" -#: ipalib/plugins/entitle.py:397 +#: ipalib/plugins/entitle.py:393 ipalib/plugins/internal.py:325 msgid "End" msgstr "" -#: ipalib/plugins/entitle.py:400 ipalib/plugins/host.py:162 -#: ipalib/plugins/internal.py:132 ipalib/plugins/service.py:96 +#: ipalib/plugins/entitle.py:396 ipalib/plugins/host.py:178 +#: ipalib/plugins/internal.py:289 ipalib/plugins/service.py:97 msgid "Serial Number" msgstr "" -#: ipalib/plugins/entitle.py:435 ipalib/plugins/entitle.py:626 -#: ipalib/plugins/entitle.py:628 +#: ipalib/plugins/entitle.py:431 ipalib/plugins/entitle.py:621 +#: ipalib/plugins/entitle.py:623 msgid "Not an entitlement certificate" msgstr "" -#: ipalib/plugins/entitle.py:460 -msgid "" -"\n" -" Search for entitlement accounts.\n" -" " +#: ipalib/plugins/entitle.py:456 +msgid "Search for entitlement accounts." msgstr "" -#: ipalib/plugins/entitle.py:473 -msgid "" -"\n" -" Register to the entitlement system\n" -" " +#: ipalib/plugins/entitle.py:468 +msgid "Register to the entitlement system." msgstr "" -#: ipalib/plugins/entitle.py:479 +#: ipalib/plugins/entitle.py:472 msgid "Registered to entitlement server." msgstr "" -#: ipalib/plugins/entitle.py:483 +#: ipalib/plugins/entitle.py:476 msgid "Username" msgstr "" -#: ipalib/plugins/entitle.py:490 ipalib/plugins/entitle.py:603 -msgid "Enrollment UUID" -msgstr "" - -#: ipalib/plugins/entitle.py:494 ipalib/plugins/migration.py:271 -#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:172 -msgid "Password" +#: ipalib/plugins/entitle.py:483 +msgid "Enrollment UUID (not implemented)" msgstr "" -#: ipalib/plugins/entitle.py:495 +#: ipalib/plugins/entitle.py:488 msgid "Registration password" msgstr "" -#: ipalib/plugins/entitle.py:569 -msgid "" -"\n" -" Import an entitlement certificate.\n" -" " +#: ipalib/plugins/entitle.py:566 +msgid "Import an entitlement certificate." msgstr "" -#: ipalib/plugins/entitle.py:646 -msgid "" -"\n" -" If we are adding the first entry there are no updates so EmptyModlist\n" -" will get thrown. Ignore it.\n" -" " +#: ipalib/plugins/entitle.py:598 +msgid "Enrollment UUID" msgstr "" -#: ipalib/plugins/entitle.py:667 -msgid "" -"\n" -" Re-sync the local entitlement cache with the entitlement server\n" -" " +#: ipalib/plugins/entitle.py:662 +msgid "Re-sync the local entitlement cache with the entitlement server." msgstr "" -#: ipalib/plugins/entitle.py:673 +#: ipalib/plugins/entitle.py:666 msgid "Entitlement(s) synchronized." msgstr "" -#: ipalib/plugins/group.py:20 +#: ipalib/plugins/group.py:26 msgid "" "\n" "Groups of users\n" "\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" @@ -2474,146 +3023,123 @@ msgid "" " ipa group-show localadmins\n" msgstr "" -#: ipalib/plugins/group.py:76 -msgid "" -"\n" -" Group object.\n" -" " +#: ipalib/plugins/group.py:80 +msgid "group" +msgstr "" + +#: ipalib/plugins/group.py:81 +msgid "groups" msgstr "" -#: ipalib/plugins/group.py:100 +#: ipalib/plugins/group.py:100 ipalib/plugins/hbacrule.py:192 +#: ipalib/plugins/sudorule.py:144 msgid "User Groups" msgstr "" -#: ipalib/plugins/group.py:108 +#: ipalib/plugins/group.py:101 +msgid "User Group" +msgstr "" + +#: ipalib/plugins/group.py:109 msgid "Group name" msgstr "" -#: ipalib/plugins/group.py:115 ipalib/plugins/sudocmdgroup.py:77 +#: ipalib/plugins/group.py:116 ipalib/plugins/sudocmdgroup.py:79 msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:119 ipalib/plugins/user.py:187 +#: ipalib/plugins/group.py:120 ipalib/plugins/user.py:250 msgid "GID" msgstr "" -#: ipalib/plugins/group.py:120 +#: ipalib/plugins/group.py:121 msgid "GID (use this option to set it manually)" msgstr "" -#: ipalib/plugins/group.py:128 -msgid "" -"\n" -" Create a new group.\n" -" " +#: ipalib/plugins/group.py:129 +msgid "Create a new group." msgstr "" -#: ipalib/plugins/group.py:132 +#: ipalib/plugins/group.py:131 +#, python-format msgid "Added group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:137 +#: ipalib/plugins/group.py:136 msgid "Create as a non-POSIX group" msgstr "" -#: ipalib/plugins/group.py:154 -msgid "" -"\n" -" Delete group.\n" -" " +#: ipalib/plugins/group.py:153 +msgid "Delete group." msgstr "" -#: ipalib/plugins/group.py:158 +#: ipalib/plugins/group.py:155 +#, python-format msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:186 -msgid "" -"\n" -" Modify a group.\n" -" " +#: ipalib/plugins/group.py:183 +msgid "Modify a group." msgstr "" -#: ipalib/plugins/group.py:189 +#: ipalib/plugins/group.py:185 +#, python-format msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:194 +#: ipalib/plugins/group.py:190 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:215 -msgid "" -"\n" -" Search for groups.\n" -" " +#: ipalib/plugins/group.py:222 +msgid "Search for groups." msgstr "" -#: ipalib/plugins/group.py:220 +#: 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:227 ipalib/plugins/netgroup.py:192 +#: ipalib/plugins/group.py:233 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:257 -msgid "" -"\n" -" Display information about a named group.\n" -" " +#: ipalib/plugins/group.py:263 +msgid "Display information about a named group." msgstr "" -#: ipalib/plugins/group.py:265 -msgid "" -"\n" -" Add members to a group.\n" -" " +#: ipalib/plugins/group.py:269 +msgid "Add members to a group." msgstr "" -#: ipalib/plugins/group.py:273 -msgid "" -"\n" -" Remove members from a group.\n" -" " +#: ipalib/plugins/group.py:275 +msgid "Remove members from a group." msgstr "" #: ipalib/plugins/group.py:281 -msgid "" -"\n" -" Detach a managed group from a user\n" -" " +msgid "Detach a managed group from a user." msgstr "" -#: ipalib/plugins/group.py:285 +#: ipalib/plugins/group.py:284 +#, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:288 -msgid "" -"\n" -" This requires updating both the user and the group. We first need to\n" -" verify that both the user and group can be updated, then we go\n" -" about our work. We don't want a situation where only the user or\n" -" group can be modified and we're left in a bad state.\n" -" " -msgstr "" - -#: ipalib/plugins/group.py:306 +#: ipalib/plugins/group.py:305 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:312 +#: ipalib/plugins/group.py:311 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:331 +#: ipalib/plugins/group.py:330 msgid "Not a managed group" msgstr "" -#: ipalib/plugins/hbacrule.py:19 +#: ipalib/plugins/hbacrule.py:25 msgid "" "\n" "Host-based access control\n" @@ -2635,7 +3161,7 @@ msgid "" "\n" " Create a rule, \"test1\", that grants all users access to the host \"server\" from\n" " anywhere:\n" -" ipa hbacrule-add --type=allow --usercat=all --srchostcat=all test1\n" +" ipa hbacrule-add --usercat=all --srchostcat=all test1\n" " ipa hbacrule-add-host --hosts=server.example.com test1\n" "\n" " Display the properties of a named HBAC rule:\n" @@ -2643,7 +3169,7 @@ msgid "" "\n" " Create a rule for a specific service. This lets the user john access\n" " the sshd service on any machine from any machine:\n" -" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_sshd\n" +" ipa hbacrule-add --hostcat=all --srchostcat=all john_sshd\n" " ipa hbacrule-add-user --users=john john_sshd\n" " ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n" "\n" @@ -2652,7 +3178,7 @@ msgid "" " ipa hbacsvcgroup-add ftpers\n" " ipa hbacsvc-add sftp\n" " ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers\n" -" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp\n" +" ipa hbacrule-add --hostcat=all --srchostcat=all john_ftp\n" " ipa hbacrule-add-user --users=john john_ftp\n" " ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n" "\n" @@ -2663,263 +3189,211 @@ msgid "" " ipa hbacrule-del allow_server\n" msgstr "" -#: ipalib/plugins/hbacrule.py:91 -msgid "" -"\n" -" See if options[attribute] is lower-case 'all' in a safe way.\n" -" " +#: ipalib/plugins/hbacrule.py:89 +msgid "Host-based access control commands" msgstr "" -#: ipalib/plugins/hbacrule.py:103 -msgid "" -"\n" -" HBAC object.\n" -" " +#: ipalib/plugins/hbacrule.py:93 +msgid "The deny type has been deprecated." +msgstr "" + +#: ipalib/plugins/hbacrule.py:112 +msgid "HBAC rule" +msgstr "" + +#: ipalib/plugins/hbacrule.py:113 +msgid "HBAC rules" +msgstr "" + +#: ipalib/plugins/hbacrule.py:131 +msgid "HBAC Rules" msgstr "" -#: ipalib/plugins/hbacrule.py:126 +#: ipalib/plugins/hbacrule.py:132 msgid "HBAC Rule" msgstr "" -#: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73 +#: ipalib/plugins/hbacrule.py:137 ipalib/plugins/sudorule.py:98 msgid "Rule name" msgstr "" -#: ipalib/plugins/hbacrule.py:136 -msgid "Rule type (allow or deny)" +#: ipalib/plugins/hbacrule.py:142 +msgid "Rule type (allow)" msgstr "" -#: ipalib/plugins/hbacrule.py:137 +#: ipalib/plugins/hbacrule.py:143 msgid "Rule type" msgstr "" -#: ipalib/plugins/hbacrule.py:143 ipalib/plugins/netgroup.py:124 -#: ipalib/plugins/sudorule.py:86 +#: ipalib/plugins/hbacrule.py:153 ipalib/plugins/netgroup.py:126 +#: ipalib/plugins/sudorule.py:111 msgid "User category" msgstr "" -#: ipalib/plugins/hbacrule.py:144 ipalib/plugins/netgroup.py:125 -#: ipalib/plugins/sudorule.py:87 +#: ipalib/plugins/hbacrule.py:154 ipalib/plugins/netgroup.py:127 +#: ipalib/plugins/sudorule.py:112 msgid "User category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:149 ipalib/plugins/netgroup.py:130 -#: ipalib/plugins/sudorule.py:92 +#: ipalib/plugins/hbacrule.py:159 ipalib/plugins/netgroup.py:132 +#: ipalib/plugins/sudorule.py:117 msgid "Host category" msgstr "" -#: ipalib/plugins/hbacrule.py:150 ipalib/plugins/netgroup.py:131 -#: ipalib/plugins/sudorule.py:93 +#: ipalib/plugins/hbacrule.py:160 ipalib/plugins/netgroup.py:133 +#: ipalib/plugins/sudorule.py:118 msgid "Host category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:155 +#: ipalib/plugins/hbacrule.py:165 msgid "Source host category" msgstr "" -#: ipalib/plugins/hbacrule.py:156 +#: ipalib/plugins/hbacrule.py:166 msgid "Source host category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:161 +#: ipalib/plugins/hbacrule.py:171 msgid "Service category" msgstr "" -#: ipalib/plugins/hbacrule.py:162 +#: ipalib/plugins/hbacrule.py:172 msgid "Service category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:174 ipalib/plugins/sudorule.py:81 +#: ipalib/plugins/hbacrule.py:184 ipalib/plugins/sudorule.py:106 msgid "Enabled" msgstr "" -#: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115 -#: ipalib/plugins/user.py:108 +#: ipalib/plugins/hbacrule.py:188 ipalib/plugins/sudorule.py:140 +#: ipalib/plugins/user.py:168 msgid "Users" msgstr "" -#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:272 -#: ipalib/plugins/sudorule.py:119 -msgid "Groups" -msgstr "" - -#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:226 -#: ipalib/plugins/sudorule.py:123 +#: ipalib/plugins/hbacrule.py:196 ipalib/plugins/host.py:248 +#: ipalib/plugins/sudorule.py:148 msgid "Hosts" msgstr "" -#: ipalib/plugins/hbacrule.py:190 ipalib/plugins/hostgroup.py:73 -#: ipalib/plugins/sudorule.py:127 +#: ipalib/plugins/hbacrule.py:200 ipalib/plugins/hostgroup.py:74 +#: ipalib/plugins/sudorule.py:152 msgid "Host Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:194 -msgid "Source hosts" +#: ipalib/plugins/hbacrule.py:204 +msgid "Source Hosts" msgstr "" -#: ipalib/plugins/hbacrule.py:198 -msgid "Source host groups" +#: ipalib/plugins/hbacrule.py:208 +msgid "Source Host Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:196 -#: ipalib/plugins/service.py:220 +#: ipalib/plugins/hbacrule.py:212 ipalib/plugins/internal.py:359 +#: ipalib/plugins/service.py:222 msgid "Services" msgstr "" -#: ipalib/plugins/hbacrule.py:206 +#: ipalib/plugins/hbacrule.py:216 msgid "Service Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:215 -msgid "" -"\n" -" Create a new HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:225 +msgid "Create a new HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:219 +#: ipalib/plugins/hbacrule.py:227 +#, python-format msgid "Added HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:230 -msgid "" -"\n" -" Delete an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:238 +msgid "Delete an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:234 +#: ipalib/plugins/hbacrule.py:240 +#, python-format msgid "Deleted HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:240 -msgid "" -"\n" -" Modify an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:246 +msgid "Modify an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:244 +#: ipalib/plugins/hbacrule.py:248 +#, python-format msgid "Modified HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:266 -msgid "" -"\n" -" Search for HBAC rules.\n" -" " +#: ipalib/plugins/hbacrule.py:270 +msgid "Search for HBAC rules." msgstr "" -#: ipalib/plugins/hbacrule.py:270 +#: ipalib/plugins/hbacrule.py:273 +#, python-format msgid "%(count)d HBAC rule matched" msgid_plural "%(count)d HBAC rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacrule.py:278 -msgid "" -"\n" -" Display the properties of an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:280 +msgid "Display the properties of an HBAC rule." msgstr "" #: ipalib/plugins/hbacrule.py:286 -msgid "" -"\n" -" Enable an HBAC rule.\n" -" " +msgid "Enable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:290 +#: ipalib/plugins/hbacrule.py:288 +#, python-format msgid "Enabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:315 -msgid "" -"\n" -" Disable an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:313 +msgid "Disable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:319 +#: ipalib/plugins/hbacrule.py:315 +#, python-format msgid "Disabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:344 -msgid "" -"\n" -" Add an access time to an HBAC rule.\n" -" " -msgstr "" - -#: ipalib/plugins/hbacrule.py:351 ipalib/plugins/hbacrule.py:391 +#: ipalib/plugins/hbacrule.py:347 ipalib/plugins/hbacrule.py:387 msgid "Access time" msgstr "" -#: ipalib/plugins/hbacrule.py:385 -msgid "" -"\n" -" Remove access time to HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:421 +msgid "Add users and groups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:425 -msgid "" -"\n" -" Add users and groups to an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:440 +msgid "Remove users and groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:442 -msgid "" -"\n" -" Remove users and groups from an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:449 +msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:452 -msgid "" -"\n" -" Add target hosts and hostgroups to an HBAC rule\n" -" " +#: ipalib/plugins/hbacrule.py:468 +msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:469 -msgid "" -"\n" -" Remove target hosts and hostgroups from an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:477 +msgid "Add source hosts and hostgroups from a HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:479 -msgid "" -"\n" -" Add source hosts and hostgroups from a HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:524 +msgid "Remove source hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:496 -msgid "" -"\n" -" Remove source hosts and hostgroups from an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:558 +msgid "Add services to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:506 -msgid "" -"\n" -" Add services to an HBAC rule.\n" -" " +#: ipalib/plugins/hbacrule.py:577 +msgid "Remove service and service groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:523 -msgid "" -"\n" -" Remove service and service groups from an HBAC rule.\n" -" " -msgstr "" - -#: ipalib/plugins/hbacsvc.py:19 +#: ipalib/plugins/hbacsvc.py:27 msgid "" "\n" "HBAC Services\n" @@ -2944,83 +3418,77 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/hbacsvc.py:51 -msgid "" -"\n" -" HBAC Service object.\n" -" " +#: ipalib/plugins/hbacsvc.py:50 ipalib/plugins/hbacsvcgroup.py:49 +msgid "Host based access control commands" msgstr "" -#: ipalib/plugins/hbacsvc.py:61 -msgid "HBAC Services" +#: ipalib/plugins/hbacsvc.py:57 ipalib/plugins/hbacsvc.py:73 +msgid "HBAC service" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:58 +msgid "HBAC services" msgstr "" #: ipalib/plugins/hbacsvc.py:66 -msgid "Service name" +msgid "HBAC Services" msgstr "" #: ipalib/plugins/hbacsvc.py:67 -msgid "HBAC service" +msgid "HBAC Service" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:72 +msgid "Service name" msgstr "" -#: ipalib/plugins/hbacsvc.py:74 +#: ipalib/plugins/hbacsvc.py:80 msgid "HBAC service description" msgstr "" -#: ipalib/plugins/hbacsvc.py:82 -msgid "" -"\n" -" Add a new HBAC service.\n" -" " +#: ipalib/plugins/hbacsvc.py:88 +msgid "Add a new HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:85 +#: ipalib/plugins/hbacsvc.py:90 +#, python-format msgid "Added HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:91 -msgid "" -"\n" -" Delete an existing HBAC service.\n" -" " +#: ipalib/plugins/hbacsvc.py:96 +msgid "Delete an existing HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:94 +#: ipalib/plugins/hbacsvc.py:98 +#, python-format msgid "Deleted HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:100 -msgid "" -"\n" -" Modify an HBAC service.\n" -" " +#: ipalib/plugins/hbacsvc.py:104 +msgid "Modify an HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:104 +#: ipalib/plugins/hbacsvc.py:106 +#, python-format msgid "Modified HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:110 -msgid "" -"\n" -" Search for HBAC services.\n" -" " +#: ipalib/plugins/hbacsvc.py:112 +msgid "Search for HBAC services." msgstr "" -#: ipalib/plugins/hbacsvc.py:114 +#: ipalib/plugins/hbacsvc.py:115 +#, python-format msgid "%(count)d HBAC service matched" msgid_plural "%(count)d HBAC services matched" msgstr[0] "" msgstr[1] "" #: ipalib/plugins/hbacsvc.py:122 -msgid "" -"\n" -" Display information about an HBAC service.\n" -" " +msgid "Display information about an HBAC service." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:19 +#: ipalib/plugins/hbacsvcgroup.py:24 msgid "" "\n" "HBAC Service Groups\n" @@ -3047,93 +3515,244 @@ msgid "" " ipa hbacsvcgroup-del login\n" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:51 -msgid "" -"\n" -" HBAC service group object.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:56 +msgid "HBAC service group" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:57 +msgid "HBAC service groups" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:65 +msgid "HBAC Service Groups" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:64 -msgid "HBAC service Groups" +#: ipalib/plugins/hbacsvcgroup.py:66 +msgid "HBAC Service Group" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:69 +#: ipalib/plugins/hbacsvcgroup.py:71 msgid "Service group name" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:76 +#: ipalib/plugins/hbacsvcgroup.py:78 msgid "HBAC service group description" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:84 -msgid "" -"\n" -" Add a new HBAC service group.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:86 +msgid "Add a new HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:87 +#: ipalib/plugins/hbacsvcgroup.py:88 +#, python-format msgid "Added HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:93 -msgid "" -"\n" -" Delete an HBAC service group.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:94 +msgid "Delete an HBAC service group." msgstr "" #: ipalib/plugins/hbacsvcgroup.py:96 +#, python-format msgid "Deleted HBAC service group \"%(value)s\"" msgstr "" #: ipalib/plugins/hbacsvcgroup.py:102 -msgid "" -"\n" -" Modify an HBAC service group.\n" -" " +msgid "Modify an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:105 +#: ipalib/plugins/hbacsvcgroup.py:104 +#, python-format msgid "Modified HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:111 -msgid "" -"\n" -" Search for an HBAC service group.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:110 +msgid "Search for an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:114 +#: ipalib/plugins/hbacsvcgroup.py:113 +#, python-format msgid "%(count)d HBAC service group matched" msgid_plural "%(count)d HBAC service groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacsvcgroup.py:122 -msgid "" -"\n" -" Display information about an HBAC service group.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:120 +msgid "Display information about an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:130 -msgid "" -"\n" -" Add members to an HBAC service group.\n" -" " +#: ipalib/plugins/hbacsvcgroup.py:126 +msgid "Add members to an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:138 +#: ipalib/plugins/hbacsvcgroup.py:132 +msgid "Remove members from an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbactest.py:27 msgid "" "\n" -" Remove members from an HBAC service group.\n" -" " +"Simulate use of Host-based access controls\n" +"\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" +"\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" +" existing enabled rules.\n" +"\n" +" ipa hbactest --user= --srchost= --host= --service=\n" +" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" +"\n" +" --user, --srchost, --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" +"\n" +" If --enabled is specified, all enabled HBAC rules will be added to simulation\n" +"\n" +" If --disabled is specified, all disabled HBAC rules will be added to simulation\n" +"\n" +" If --nodetail is specified, do not return information about rules matched/not matched.\n" +"\n" +" If both --rules and --enabled are specified, apply simulation to --rules _and_\n" +" all IPA enabled rules.\n" +"\n" +" If no --rules specified, simulation is run against all IPA enabled rules.\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" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" notmatched: my-second-rule\n" +" notmatched: my-third-rule\n" +" notmatched: myrule\n" +" 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" +" --------------------\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" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" notmatched: my-second-rule\n" +" notmatched: myrule\n" +"\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" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" notmatched: my-second-rule\n" +" notmatched: my-third-rule\n" +" notmatched: myrule\n" +" 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" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" notmatched: new-rule\n" +"\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" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" notmatched: my-second-rule\n" +" notmatched: my-third-rule\n" +" 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" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" notmatched: my-second-rule\n" +" notmatched: my-third-rule\n" +" notmatched: myrule\n" +" notmatched: new-rule\n" +" matched: allow_all\n" +"\n" +msgstr "" + +#: ipalib/plugins/hbactest.py:161 +msgid "Simulate use of Host-based access controls" +msgstr "" + +#: ipalib/plugins/hbactest.py:165 +msgid "Matched rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:166 +msgid "Not matched rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:167 +msgid "Non-existent or invalid rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:168 +msgid "Result of simulation" +msgstr "" + +#: ipalib/plugins/hbactest.py:174 ipalib/plugins/krbtpolicy.py:85 +#: ipalib/plugins/passwd.py:69 +msgid "User name" +msgstr "" + +#: ipalib/plugins/hbactest.py:179 +msgid "Source host" +msgstr "" + +#: ipalib/plugins/hbactest.py:183 +msgid "Target host" +msgstr "" + +#: ipalib/plugins/hbactest.py:187 ipalib/plugins/internal.py:430 +#: ipalib/plugins/service.py:223 +msgid "Service" msgstr "" -#: ipalib/plugins/host.py:20 +#: ipalib/plugins/hbactest.py:191 +msgid "Rules to test. If not specified, --enabled is assumed" +msgstr "" + +#: ipalib/plugins/hbactest.py:196 +msgid "Hide details which rules are matched, not matched, or invalid" +msgstr "" + +#: ipalib/plugins/hbactest.py:200 +msgid "Include all enabled IPA rules into test [default]" +msgstr "" + +#: ipalib/plugins/hbactest.py:204 +msgid "Include all disabled IPA rules into test" +msgstr "" + +#: ipalib/plugins/hbactest.py:266 +msgid "Unresolved rules in --rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:342 +#, python-format +msgid "Access granted: %s" +msgstr "" + +#: ipalib/plugins/host.py:42 msgid "" "\n" "Hosts/Machines\n" @@ -3189,218 +3808,202 @@ msgid "" " ipa host-add-managedby --hosts=test2 test\n" msgstr "" -#: ipalib/plugins/host.py:97 -msgid "" -"\n" -" Require at least one dot in the hostname (to support localhost.localdomain)\n" -" " -msgstr "" - #: ipalib/plugins/host.py:101 msgid "Fully-qualified hostname required" msgstr "" -#: ipalib/plugins/host.py:129 +#: ipalib/plugins/host.py:142 +#, python-format msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "" -#: ipalib/plugins/host.py:153 ipalib/plugins/service.py:87 +#: ipalib/plugins/host.py:166 ipalib/plugins/service.py:88 msgid "Keytab" msgstr "" -#: ipalib/plugins/host.py:185 -msgid "" -"\n" -" Verify that we have either an IPv4 or IPv6 address.\n" -" " +#: ipalib/plugins/host.py:207 +msgid "invalid IP address" msgstr "" -#: ipalib/plugins/host.py:189 -msgid "invalid IP address" +#: ipalib/plugins/host.py:216 +msgid "host" msgstr "" -#: ipalib/plugins/host.py:194 -msgid "" -"\n" -" Host object.\n" -" " +#: ipalib/plugins/host.py:217 +msgid "hosts" +msgstr "" + +#: ipalib/plugins/host.py:249 +msgid "Host" msgstr "" -#: ipalib/plugins/host.py:231 +#: ipalib/plugins/host.py:257 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:238 +#: ipalib/plugins/host.py:264 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:242 +#: ipalib/plugins/host.py:268 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:243 +#: ipalib/plugins/host.py:269 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:248 +#: ipalib/plugins/host.py:274 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:252 +#: ipalib/plugins/host.py:278 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:253 +#: ipalib/plugins/host.py:279 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:257 +#: ipalib/plugins/host.py:283 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:258 +#: ipalib/plugins/host.py:284 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:262 +#: ipalib/plugins/host.py:288 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:263 +#: ipalib/plugins/host.py:289 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:266 +#: ipalib/plugins/host.py:292 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:271 +#: ipalib/plugins/host.py:297 msgid "Random password" msgstr "" -#: ipalib/plugins/host.py:277 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:280 ipalib/plugins/host.py:548 +#: ipalib/plugins/host.py:306 ipalib/plugins/host.py:621 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:306 -msgid "" -"\n" -" Add a new host.\n" -" " +#: ipalib/plugins/host.py:366 +msgid "Add a new host." msgstr "" -#: ipalib/plugins/host.py:311 +#: ipalib/plugins/host.py:369 +#, python-format msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:316 +#: ipalib/plugins/host.py:374 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:319 +#: ipalib/plugins/host.py:377 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:322 +#: ipalib/plugins/host.py:380 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:338 ipalib/plugins/host.py:477 +#: ipalib/plugins/host.py:381 +msgid "IP Address" +msgstr "" + +#: ipalib/plugins/host.py:397 ipalib/plugins/host.py:552 +#, python-format msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/host.py:413 +#: 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:422 -msgid "" -"\n" -" Delete a host.\n" -" " +#: ipalib/plugins/host.py:499 +msgid "Delete a host." msgstr "" -#: ipalib/plugins/host.py:426 +#: ipalib/plugins/host.py:501 +#, python-format msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:431 +#: ipalib/plugins/host.py:506 msgid "Remove entries from DNS" msgstr "" -#: ipalib/plugins/host.py:537 -msgid "" -"\n" -" Modify information about a host.\n" -" " +#: ipalib/plugins/host.py:612 +msgid "Modify information about a host." msgstr "" -#: ipalib/plugins/host.py:542 +#: ipalib/plugins/host.py:615 +#, python-format msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:549 +#: ipalib/plugins/host.py:622 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:618 -msgid "" -"\n" -" Search for hosts.\n" -" " +#: ipalib/plugins/host.py:634 +msgid "Password cannot be set on enrolled host." msgstr "" -#: ipalib/plugins/host.py:623 +#: ipalib/plugins/host.py:708 +msgid "Search for hosts." +msgstr "" + +#: 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:643 -msgid "" -"\n" -" Display information about a host.\n" -" " +#: ipalib/plugins/host.py:742 +msgid "Display information about a host." msgstr "" -#: ipalib/plugins/host.py:649 ipalib/plugins/service.py:400 +#: ipalib/plugins/host.py:747 ipalib/plugins/service.py:396 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:673 ipalib/plugins/service.py:422 +#: ipalib/plugins/host.py:775 ipalib/plugins/service.py:414 +#, python-format msgid "Certificate stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/host.py:684 -msgid "" -"\n" -" Disable the Kerberos key, SSL certificate and all services of a host.\n" -" " +#: ipalib/plugins/host.py:786 +msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" -#: ipalib/plugins/host.py:688 +#: ipalib/plugins/host.py:789 +#, python-format msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:770 -msgid "" -"\n" -" Add hosts that can manage this host.\n" -" " +#: ipalib/plugins/host.py:876 +msgid "Add hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:781 -msgid "" -"\n" -" Remove hosts that can manage this host.\n" -" " +#: ipalib/plugins/host.py:890 +msgid "Remove hosts that can manage this host." msgstr "" -#: ipalib/plugins/hostgroup.py:20 +#: ipalib/plugins/hostgroup.py:25 msgid "" "\n" "Groups of hosts.\n" @@ -3432,1017 +4035,1155 @@ msgid "" " ipa hostgroup-del baltimore\n" msgstr "" -#: ipalib/plugins/hostgroup.py:55 -msgid "" -"\n" -" Hostgroup object.\n" -" " +#: ipalib/plugins/hostgroup.py:60 +msgid "host group" msgstr "" -#: ipalib/plugins/hostgroup.py:78 +#: ipalib/plugins/hostgroup.py:61 +msgid "host groups" +msgstr "" + +#: ipalib/plugins/hostgroup.py:75 +msgid "Host Group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:80 msgid "Host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:79 +#: ipalib/plugins/hostgroup.py:81 msgid "Name of host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:86 +#: ipalib/plugins/hostgroup.py:88 msgid "A description of this host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:94 -msgid "" -"\n" -" Add a new hostgroup.\n" -" " +#: ipalib/plugins/hostgroup.py:114 +msgid "Add a new hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:98 +#: ipalib/plugins/hostgroup.py:116 +#, python-format msgid "Added hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:104 +#: ipalib/plugins/hostgroup.py:131 +#, python-format msgid "" -"\n" -" Delete a hostgroup.\n" -" " +"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " +"common namespace" msgstr "" -#: ipalib/plugins/hostgroup.py:108 +#: ipalib/plugins/hostgroup.py:153 +msgid "Delete a hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:155 +#, python-format msgid "Deleted hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:114 -msgid "" -"\n" -" Modify a hostgroup.\n" -" " +#: ipalib/plugins/hostgroup.py:161 +msgid "Modify a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:118 +#: ipalib/plugins/hostgroup.py:163 +#, python-format msgid "Modified hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:124 -msgid "" -"\n" -" Search for hostgroups.\n" -" " +#: ipalib/plugins/hostgroup.py:173 +msgid "Search for hostgroups." msgstr "" -#: ipalib/plugins/hostgroup.py:128 +#: ipalib/plugins/hostgroup.py:177 +#, python-format msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hostgroup.py:136 -msgid "" -"\n" -" Display information about a hostgroup.\n" -" " +#: ipalib/plugins/hostgroup.py:191 +msgid "Display information about a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:144 -msgid "" -"\n" -" Add members to a hostgroup.\n" -" " +#: ipalib/plugins/hostgroup.py:201 +msgid "Add members to a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:152 -msgid "" -"\n" -" Remove members from a hostgroup.\n" -" " +#: ipalib/plugins/hostgroup.py:211 +msgid "Remove members from a hostgroup." msgstr "" -#: ipalib/plugins/internal.py:22 -msgid "" -"\n" -"Plugins not accessible directly through the CLI, commands used internally\n" -msgstr "" - -#: ipalib/plugins/internal.py:36 -msgid "" -"\n" -" Export plugin meta-data for the webUI.\n" -" " -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 -msgid "Dict of JSON encoded IPA Objects" -msgstr "" - -#: ipalib/plugins/internal.py:53 -msgid "Dict of JSON encoded IPA Methods" -msgstr "" - -#: ipalib/plugins/internal.py:96 -msgid "Logged In As" -msgstr "" - -#: ipalib/plugins/internal.py:99 -msgid "Attribute" -msgstr "" - -#: ipalib/plugins/internal.py:102 -msgid "Add Automount Location" -msgstr "" - -#: ipalib/plugins/internal.py:103 -msgid "Automount Location Settings" +#: ipalib/plugins/internal.py:59 +msgid "Name of command to export" msgstr "" -#: ipalib/plugins/internal.py:106 -msgid "Add Automount Map" -msgstr "" - -#: ipalib/plugins/internal.py:109 -msgid "Add Automount Key" +#: ipalib/plugins/internal.py:64 +msgid "Dict of JSON encoded IPA Objects" msgstr "" -#: ipalib/plugins/internal.py:112 -msgid "Unspecified" +#: ipalib/plugins/internal.py:65 +msgid "Dict of JSON encoded IPA Methods" msgstr "" -#: ipalib/plugins/internal.py:113 -msgid "Key Compromise" +#: ipalib/plugins/internal.py:66 +msgid "Dict of JSON encoded IPA Commands" msgstr "" -#: ipalib/plugins/internal.py:114 -msgid "CA Compromise" +#: 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/config/unauthorized.html'>follow these directions</a> to " +"configure your browser." msgstr "" -#: ipalib/plugins/internal.py:115 -msgid "Affiliation Changed" +#: ipalib/plugins/internal.py:148 +msgid "Kerberos ticket no longer valid." msgstr "" -#: ipalib/plugins/internal.py:116 -msgid "Superseded" +#: ipalib/plugins/internal.py:153 +msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:117 -msgid "Cessation of Operation" +#: ipalib/plugins/internal.py:154 +msgid "Add RunAs Groups into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:118 -msgid "Certificate Hold" +#: ipalib/plugins/internal.py:155 +msgid "Add ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:119 -msgid "Remove from CRL" +#: ipalib/plugins/internal.py:156 +msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:120 -msgid "Privilege Withdrawn" +#: ipalib/plugins/internal.py:157 +msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:121 -msgid "AA Compromise" +#: ipalib/plugins/internal.py:158 +msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:122 -msgid "" -"To confirm your intention to revoke this certificate, select a reason from " -"the pull-down list, and click the \"Revoke\" button." +#: ipalib/plugins/internal.py:159 +msgid "Add ${entity} ${primary_key} into ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:124 -msgid "Note" +#: ipalib/plugins/internal.py:160 +msgid "Add Source ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:125 -msgid "Reason for Revocation" +#: ipalib/plugins/internal.py:162 +msgid "Direct Membership" msgstr "" -#: ipalib/plugins/internal.py:126 -msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\"" -" button." +#: ipalib/plugins/internal.py:163 +msgid "Indirect Membership" msgstr "" -#: ipalib/plugins/internal.py:128 -msgid "Issued To" +#: ipalib/plugins/internal.py:164 +msgid "No entries." msgstr "" -#: ipalib/plugins/internal.py:129 -msgid "Common Name" +#: ipalib/plugins/internal.py:165 +msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/internal.py:130 -msgid "Organization" +#: ipalib/plugins/internal.py:167 +msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:131 -msgid "Organizational Unit" +#: ipalib/plugins/internal.py:168 +msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:133 -msgid "Issued By" +#: ipalib/plugins/internal.py:169 +msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:134 -msgid "Validity" +#: ipalib/plugins/internal.py:170 +msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:135 -msgid "Issued On" +#: ipalib/plugins/internal.py:171 +msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:136 -msgid "Expires On" +#: ipalib/plugins/internal.py:172 +msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:137 -msgid "Fingerprints" +#: ipalib/plugins/internal.py:173 +msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:138 -msgid "SHA1 Fingerprint" +#: ipalib/plugins/internal.py:174 +msgid "Remove Source ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:139 -msgid "MD5 Fingerprint" +#: ipalib/plugins/internal.py:176 +msgid "Show Results" msgstr "" -#: ipalib/plugins/internal.py:140 -msgid "Enter the Base64-encoded CSR below" +#: ipalib/plugins/internal.py:179 +msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:141 -msgid "Valid Certificate Present" +#: ipalib/plugins/internal.py:180 +msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:142 -msgid "New Certificate" +#: ipalib/plugins/internal.py:181 +msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:143 -msgid "Certificate Revoked" +#: ipalib/plugins/internal.py:182 +msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:144 -msgid "No Valid Certificate" +#: ipalib/plugins/internal.py:183 +msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:145 -msgid "Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:184 +msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:146 -msgid "Issue New Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:185 +msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:147 -msgid "Revoke Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:186 +msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:148 -msgid "Restore Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:187 +msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:152 -msgid "Name" +#: ipalib/plugins/internal.py:188 +msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:155 -msgid "Add Delegation" +#: ipalib/plugins/internal.py:189 +msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:158 -msgid "Add DNS Zone" +#: ipalib/plugins/internal.py:190 +msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:159 -msgid "DNS Zone Settings" +#: ipalib/plugins/internal.py:191 +msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:162 -msgid "Add DNS Resource Record" +#: ipalib/plugins/internal.py:192 +msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:163 -msgid "Resource" +#: ipalib/plugins/internal.py:193 +msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:165 -msgid "Data" +#: ipalib/plugins/internal.py:194 +msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:166 -msgid "Records for DNS Zone" +#: ipalib/plugins/internal.py:195 +msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:169 -msgid "Add Group" +#: ipalib/plugins/internal.py:196 +msgid "View" msgstr "" -#: ipalib/plugins/internal.py:170 -msgid "Group Settings" +#: ipalib/plugins/internal.py:199 +msgid "Collapse All" msgstr "" -#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:206 -msgid "Is this a POSIX group?" +#: ipalib/plugins/internal.py:200 +msgid "Expand All" msgstr "" -#: ipalib/plugins/internal.py:174 -msgid "Add HBAC Rule" +#: ipalib/plugins/internal.py:201 +msgid "General" msgstr "" -#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:280 -#: ipalib/plugins/internal.py:306 -msgid "Active" +#: ipalib/plugins/internal.py:202 +msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:282 -msgid "Allow" +#: ipalib/plugins/internal.py:203 +msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:177 ipalib/plugins/internal.py:283 -msgid "Deny" +#: ipalib/plugins/internal.py:204 +msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:281 -#: ipalib/plugins/internal.py:308 -msgid "Inactive" +#: ipalib/plugins/internal.py:207 +msgid "${entity} successfully added" msgstr "" -#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:296 -msgid "Rule status" +#: ipalib/plugins/internal.py:208 +msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/internal.py:180 ipalib/plugins/internal.py:284 -msgid "Who" +#: ipalib/plugins/internal.py:209 +msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:181 ipalib/plugins/internal.py:285 -msgid "Anyone" +#: ipalib/plugins/internal.py:210 +msgid "Some operations failed." msgstr "" -#: ipalib/plugins/internal.py:182 ipalib/plugins/internal.py:286 -msgid "Specified Users and Groups" +#: ipalib/plugins/internal.py:211 +msgid "Operations Error" msgstr "" -#: ipalib/plugins/internal.py:183 -msgid "Accessing" +#: ipalib/plugins/internal.py:212 +msgid "Confirmation" msgstr "" -#: ipalib/plugins/internal.py:184 ipalib/plugins/internal.py:288 -msgid "Any Host" +#: ipalib/plugins/internal.py:213 +msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:185 ipalib/plugins/internal.py:289 -msgid "Specified Hosts and Groups" +#: ipalib/plugins/internal.py:214 +msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/internal.py:186 -msgid "Via Service" +#: ipalib/plugins/internal.py:215 +msgid "Hide details" msgstr "" -#: ipalib/plugins/internal.py:187 -msgid "Any Service" +#: ipalib/plugins/internal.py:216 +msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:188 -msgid "Specified Services and Groups" +#: ipalib/plugins/internal.py:217 +msgid "Redirection" msgstr "" -#: ipalib/plugins/internal.py:189 -msgid "From" +#: ipalib/plugins/internal.py:218 +msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/internal.py:192 -msgid "Add HBAC Service" +#: ipalib/plugins/internal.py:219 +msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/internal.py:195 -msgid "Add HBAC Service Group" +#: ipalib/plugins/internal.py:220 +msgid "Show details" msgstr "" -#: ipalib/plugins/internal.py:199 -msgid "Add Host" +#: ipalib/plugins/internal.py:221 +msgid "Validation error" msgstr "" -#: ipalib/plugins/internal.py:200 -msgid "Host Certificate" +#: ipalib/plugins/internal.py:222 +msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:259 -msgid "Host Name" +#: ipalib/plugins/internal.py:226 +msgid "HTTP Error" msgstr "" -#: ipalib/plugins/internal.py:202 -msgid "Host Settings" +#: ipalib/plugins/internal.py:227 +msgid "Internal Error" msgstr "" -#: ipalib/plugins/internal.py:203 -msgid "Enrolled?" +#: ipalib/plugins/internal.py:228 +msgid "IPA Error" msgstr "" -#: ipalib/plugins/internal.py:204 -msgid "Enrollment" +#: ipalib/plugins/internal.py:229 +msgid "No response" msgstr "" -#: ipalib/plugins/internal.py:205 -msgid "Fully Qualified Host Name" +#: ipalib/plugins/internal.py:230 +msgid "Unknown Error" msgstr "" -#: ipalib/plugins/internal.py:207 ipalib/plugins/internal.py:262 -msgid "Status" +#: ipalib/plugins/internal.py:231 +msgid "URL" msgstr "" -#: ipalib/plugins/internal.py:208 -msgid "Kerberos Key Present, Host Provisioned" +#: ipalib/plugins/internal.py:234 +msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/internal.py:209 ipalib/plugins/internal.py:264 -msgid "Delete Key, Unprovision" +#: ipalib/plugins/internal.py:235 +msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:265 -msgid "Kerberos Key Not Present" +#: ipalib/plugins/internal.py:236 +msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/internal.py:211 -msgid "Enroll via One-Time-Password" +#: ipalib/plugins/internal.py:239 +msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:212 -msgid "Set OTP" +#: ipalib/plugins/internal.py:240 +msgid "Search" msgstr "" -#: ipalib/plugins/internal.py:213 -msgid "One-Time-Password has been set." +#: ipalib/plugins/internal.py:242 +msgid "False" msgstr "" -#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:266 -msgid "Unprovisioning ${entity}" +#: ipalib/plugins/internal.py:244 +msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:215 -msgid "Are you sure you want to unprovision this host?" +#: ipalib/plugins/internal.py:248 +msgid "Attribute" msgstr "" -#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:268 -msgid "Unprovision" +#: ipalib/plugins/internal.py:253 +msgid "Automount Location Settings" msgstr "" -#: ipalib/plugins/internal.py:219 -msgid "Add Host Group" +#: ipalib/plugins/internal.py:256 +msgid "Map Type" msgstr "" -#: ipalib/plugins/internal.py:220 -msgid "Host Group Settings" +#: ipalib/plugins/internal.py:257 +msgid "Direct" msgstr "" -#: ipalib/plugins/internal.py:223 -msgid "Kerberos ticket policy" +#: ipalib/plugins/internal.py:258 +msgid "Indirect" msgstr "" -#: ipalib/plugins/internal.py:226 -msgid "Add Netgroup" +#: ipalib/plugins/internal.py:261 +msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:227 -msgid "Netgroup Settings" +#: ipalib/plugins/internal.py:262 +msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:230 -msgid "Add Permission" +#: ipalib/plugins/internal.py:263 +msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:231 ipalib/plugins/internal.py:376 -msgid "Identity" +#: ipalib/plugins/internal.py:264 +msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:233 -msgid "Target" +#: ipalib/plugins/internal.py:265 +msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:235 -msgid "By Subtree" +#: ipalib/plugins/internal.py:266 +msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:236 -msgid "Target Group" +#: ipalib/plugins/internal.py:267 +msgid "Enter the Base64-encoded CSR below" msgstr "" -#: ipalib/plugins/internal.py:237 -msgid "Object By Type" +#: ipalib/plugins/internal.py:268 +msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:238 -msgid "Permission with invalid target specification" +#: ipalib/plugins/internal.py:269 +msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:241 -msgid "Add Privilege" +#: ipalib/plugins/internal.py:270 +msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:242 -msgid "Privilege Settings" +#: ipalib/plugins/internal.py:271 +msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:245 -msgid "Add Password Policy" +#: ipalib/plugins/internal.py:272 +msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:246 ipalib/plugins/pwpolicy.py:219 -msgid "Password Policy" +#: ipalib/plugins/internal.py:273 +msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:249 -msgid "Add Role" +#: ipalib/plugins/internal.py:274 +msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:250 -msgid "Role Settings" +#: ipalib/plugins/internal.py:275 +msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:253 -msgid "Add Self Service Definition" +#: ipalib/plugins/internal.py:276 +msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:256 -msgid "Add Service" +#: ipalib/plugins/internal.py:277 +msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:257 -msgid "Service Certificate" +#: ipalib/plugins/internal.py:278 +msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:258 -msgid "Service Settings" +#: ipalib/plugins/internal.py:279 +msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:260 -msgid "Provisioning" +#: ipalib/plugins/internal.py:280 +msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:261 -msgid "Service" +#: ipalib/plugins/internal.py:281 +msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:263 -msgid "Kerberos Key Present, Service Provisioned" +#: ipalib/plugins/internal.py:282 +msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:267 -msgid "Are you sure you want to unprovision this service?" +#: ipalib/plugins/internal.py:283 +msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:271 -msgid "Add Sudo Command" +#: ipalib/plugins/internal.py:284 +msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:275 -msgid "Add Sudo Command Group" +#: ipalib/plugins/internal.py:285 +msgid "" +"To confirm your intention to restore this certificate, click the \"Restore\"" +" button." msgstr "" -#: ipalib/plugins/internal.py:276 ipalib/plugins/sudocmdgroup.py:80 -msgid "Commands" +#: ipalib/plugins/internal.py:286 +msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:279 -msgid "Add Sudo Rule" +#: 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:287 -msgid "Access this host" +#: ipalib/plugins/internal.py:288 +msgid "Certificate Revoked" msgstr "" #: ipalib/plugins/internal.py:290 -msgid "Run Commands" +msgid "SHA1 Fingerprint" msgstr "" #: ipalib/plugins/internal.py:291 -msgid "Any Command" +msgid "Superseded" msgstr "" #: ipalib/plugins/internal.py:292 -msgid "Specified Commands and Groups" +msgid "Unspecified" msgstr "" #: ipalib/plugins/internal.py:293 -msgid "As Whom" +msgid "Valid Certificate Present" msgstr "" #: ipalib/plugins/internal.py:294 -msgid "Any Group" +msgid "Validity" msgstr "" #: ipalib/plugins/internal.py:295 -msgid "Specified Groups" +msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:297 -msgid "External" +#: ipalib/plugins/internal.py:298 +msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:300 -msgid "Add User" +#: ipalib/plugins/internal.py:299 +msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:301 -msgid "Account Settings" -msgstr "" - -#: ipalib/plugins/internal.py:302 -msgid "Contact Settings" +#: ipalib/plugins/internal.py:300 +msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:303 -msgid "Mailing Address" +#: ipalib/plugins/internal.py:305 +msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:304 -msgid "Employee Information" +#: ipalib/plugins/internal.py:306 +msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:305 -msgid "Misc. Information" +#: ipalib/plugins/internal.py:307 +msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:307 -msgid "Click to Deactivate" +#: ipalib/plugins/internal.py:308 +msgid "You will be redirected to DNS Zone." msgstr "" #: ipalib/plugins/internal.py:309 -msgid "Click to Activate" +msgid "Standard Record Types" msgstr "" #: ipalib/plugins/internal.py:310 -msgid "Error changing account status" +msgid "Records for DNS Zone" msgstr "" #: ipalib/plugins/internal.py:311 -msgid "Reset Password" -msgstr "" - -#: ipalib/plugins/internal.py:312 -msgid "New Password" -msgstr "" - -#: ipalib/plugins/internal.py:313 -msgid "Repeat Password" +msgid "Record Type" msgstr "" #: ipalib/plugins/internal.py:314 -msgid "Password change complete" +msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:315 -msgid "Passwords must match" +#: ipalib/plugins/internal.py:317 +msgid "Account" msgstr "" #: ipalib/plugins/internal.py:319 -msgid "Add" +msgid "Certificates" msgstr "" #: ipalib/plugins/internal.py:320 -msgid "Add and Add Another" +msgid "Consume" msgstr "" #: ipalib/plugins/internal.py:321 -msgid "Add and Edit" -msgstr "" - -#: ipalib/plugins/internal.py:322 -msgid "Add and Close" +msgid "Consume Entitlement" msgstr "" #: ipalib/plugins/internal.py:323 -msgid "Add Many" +msgid "Download" msgstr "" #: ipalib/plugins/internal.py:324 -msgid "Back to List" -msgstr "" - -#: ipalib/plugins/internal.py:325 -msgid "Cancel" +msgid "Download Certificate" msgstr "" #: ipalib/plugins/internal.py:326 -msgid "Close" +msgid "Import" msgstr "" #: ipalib/plugins/internal.py:327 -msgid "Enroll" +msgid "Import Certificate" msgstr "" #: ipalib/plugins/internal.py:328 -msgid "Find" +msgid "Enter the Base64-encoded entitlement certificate below:" msgstr "" #: ipalib/plugins/internal.py:329 -msgid "Get" +msgid "Loading..." msgstr "" #: ipalib/plugins/internal.py:330 -msgid "Issue" -msgstr "" - -#: ipalib/plugins/internal.py:331 -msgid "OK" +msgid "No Certificate." msgstr "" #: ipalib/plugins/internal.py:332 -msgid "Reset" +msgid "Register" msgstr "" #: ipalib/plugins/internal.py:333 -msgid "Delete" +msgid "Registration" msgstr "" -#: ipalib/plugins/internal.py:334 -msgid "Restore" -msgstr "" - -#: ipalib/plugins/internal.py:335 -msgid "Retry" -msgstr "" - -#: ipalib/plugins/internal.py:336 -msgid "Revoke" -msgstr "" - -#: ipalib/plugins/internal.py:337 -msgid "Update" +#: ipalib/plugins/internal.py:335 ipalib/plugins/internal.py:392 +#: ipalib/plugins/internal.py:431 +msgid "Status" msgstr "" #: ipalib/plugins/internal.py:338 -msgid "View" +msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:341 -msgid "Available" +#: ipalib/plugins/internal.py:339 +msgid "Is this a POSIX group?" msgstr "" -#: ipalib/plugins/internal.py:342 -msgid "This page has unsaved changes. Please save or revert." +#: ipalib/plugins/internal.py:342 ipalib/plugins/internal.py:444 +#: ipalib/plugins/internal.py:470 +msgid "Active" msgstr "" -#: ipalib/plugins/internal.py:343 -msgid "Dirty" +#: ipalib/plugins/internal.py:343 ipalib/plugins/internal.py:448 +msgid "Any Host" msgstr "" #: ipalib/plugins/internal.py:344 -msgid "Hide already enrolled." +msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:345 -msgid "Select ${entity} to be removed." +#: ipalib/plugins/internal.py:345 ipalib/plugins/internal.py:449 +msgid "Anyone" msgstr "" #: ipalib/plugins/internal.py:346 -msgid "Remove ${entity}." +msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:347 -msgid "Prospective" +#: ipalib/plugins/internal.py:347 ipalib/plugins/internal.py:454 +#: ipalib/plugins/internal.py:475 +msgid "Inactive" msgstr "" -#: ipalib/plugins/internal.py:350 -msgid "Managed by" +#: ipalib/plugins/internal.py:348 ipalib/plugins/internal.py:455 +msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:351 -msgid "Member" +#: ipalib/plugins/internal.py:349 +msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:352 -msgid "Indirect Member" +#: ipalib/plugins/internal.py:350 +msgid "From" msgstr "" -#: ipalib/plugins/internal.py:353 -msgid "Member Of" +#: ipalib/plugins/internal.py:351 ipalib/plugins/internal.py:460 +msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:354 -msgid "Indirect Member Of" +#: ipalib/plugins/internal.py:352 +msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:359 -msgid "Settings" +#: ipalib/plugins/internal.py:353 ipalib/plugins/internal.py:461 +msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:358 -msgid "Search" +#: ipalib/plugins/internal.py:354 ipalib/plugins/internal.py:462 +msgid "Who" msgstr "" #: ipalib/plugins/internal.py:362 -msgid "Quick Links" +msgid "Access Denied" msgstr "" #: ipalib/plugins/internal.py:363 -msgid "Select All" +msgid "Access Granted" msgstr "" #: ipalib/plugins/internal.py:364 -msgid "Unselect All" +msgid "Include Disabled" msgstr "" #: ipalib/plugins/internal.py:365 -msgid "Are you sure you want to delete selected entries?" +msgid "Include Enabled" msgstr "" #: ipalib/plugins/internal.py:366 -msgid "" -"Query returned more results than the configured size limit. Displaying the " -"first ${counter} results." +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 "General" +msgid "Run Test" msgstr "" #: ipalib/plugins/internal.py:371 -msgid "Identity Settings" +msgid "Specify external ${entity}" msgstr "" #: ipalib/plugins/internal.py:372 -msgid "${entity} ${primary_key} Settings" +msgid "Unmatched" msgstr "" -#: ipalib/plugins/internal.py:373 -msgid "Back to Top" +#: ipalib/plugins/internal.py:375 +msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:377 -msgid "Policy" +#: ipalib/plugins/internal.py:376 ipalib/plugins/internal.py:427 +msgid "Host Name" +msgstr "" + +#: ipalib/plugins/internal.py:377 ipalib/plugins/internal.py:425 +msgid "Delete Key, Unprovision" msgstr "" #: ipalib/plugins/internal.py:378 -msgid "Audit" +msgid "Host Settings" msgstr "" #: ipalib/plugins/internal.py:379 -msgid "IPA Server" +msgid "Enrolled?" msgstr "" #: ipalib/plugins/internal.py:380 -msgid "Sudo" +msgid "Enrollment" msgstr "" #: ipalib/plugins/internal.py:381 -msgid "Host Based Access Control" +msgid "Fully Qualified Host Name" msgstr "" #: ipalib/plugins/internal.py:382 -msgid "Role Based Access Control" +msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:383 -msgid "Automount" +#: ipalib/plugins/internal.py:383 ipalib/plugins/internal.py:428 +msgid "Kerberos Key Not Present" +msgstr "" + +#: ipalib/plugins/internal.py:384 +msgid "Kerberos Key Present, Host Provisioned" +msgstr "" + +#: ipalib/plugins/internal.py:385 +msgid "One-Time-Password" msgstr "" #: ipalib/plugins/internal.py:386 -msgid "Add ${other_entity} into ${entity} ${primary_key}" +msgid "One-Time-Password Not Present" msgstr "" #: ipalib/plugins/internal.py:387 -msgid "${other_entity} enrolled in ${entity} ${primary_key}" +msgid "One-Time-Password Present" msgstr "" #: ipalib/plugins/internal.py:388 -msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}" +msgid "Reset OTP" msgstr "" #: ipalib/plugins/internal.py:389 -msgid "Remove ${other_entity} from ${entity} ${primary_key}" +msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:392 -msgid "Text does not match field pattern" +#: ipalib/plugins/internal.py:390 +msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:395 -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/config/unauthorized.html'>follow these directions</a> to " -"configure your browser." +#: ipalib/plugins/internal.py:391 +msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:399 -msgid "Dict of I18N messages" +#: ipalib/plugins/internal.py:393 ipalib/plugins/internal.py:432 +msgid "Unprovision" msgstr "" -#: ipalib/plugins/kerberos.py:20 -msgid "" -"\n" -"Backend plugin for Kerberos.\n" -"\n" -"This wraps the python-kerberos and python-krbV bindings.\n" +#: ipalib/plugins/internal.py:394 +msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/kerberos.py:35 -msgid "" -"\n" -" Kerberos backend plugin.\n" -"\n" -" This wraps the `krbV` bindings (and will eventually wrap the `kerberos`\n" -" bindings also). Importantly, this plugin does correct Unicode\n" -" encoding/decoding of values going-to/coming-from the bindings.\n" -" " +#: ipalib/plugins/internal.py:395 ipalib/plugins/internal.py:434 +msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/kerberos.py:44 -msgid "" -"\n" -" Return the ``krbV.CCache`` for the default credential cache.\n" -" " +#: ipalib/plugins/internal.py:398 +msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/kerberos.py:50 -msgid "" -"\n" -" Return the ``krb5.Principal`` for the default credential cache.\n" -" " +#: ipalib/plugins/internal.py:401 +msgid "Kerberos ticket policy" msgstr "" -#: ipalib/plugins/kerberos.py:56 -msgid "" -"\n" -" Return the ``krbV.CCache`` for the ``ccname`` credential ccache.\n" -" " +#: ipalib/plugins/internal.py:404 +msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/kerberos.py:62 -msgid "" -"\n" -" Return the ``krb5.Principal`` for the ``ccname`` credential ccache.\n" -" " +#: ipalib/plugins/internal.py:407 ipalib/plugins/internal.py:502 +msgid "Identity" msgstr "" -#: ipalib/plugins/kerberos.py:68 -msgid "" -"\n" -" Return the default ccache file name.\n" -"\n" -" This will return something like '/tmp/krb5cc_500'.\n" -"\n" -" This cannot return anything meaningful if used in the server as a\n" -" request is processed.\n" -" " +#: ipalib/plugins/internal.py:408 +msgid "Permission with invalid target specification" msgstr "" -#: ipalib/plugins/kerberos.py:79 -msgid "" -"\n" -" Return the principal name in default credential cache.\n" -"\n" -" This will return something like 'admin@EXAMPLE.COM'. If no credential\n" -" cache exists for the invoking user, None is returned.\n" -"\n" -" This cannot return anything meaningful if used in the server as a\n" -" request is processed.\n" -" " +#: ipalib/plugins/internal.py:410 +msgid "Target" msgstr "" -#: ipalib/plugins/kerberos.py:91 -msgid "" -"\n" -" Return the realm from the default credential cache.\n" -"\n" -" This will return something like 'EXAMPLE.COM'. If no credential cache\n" -" exists for the invoking user, None is returned.\n" -"\n" -" This cannot return anything meaningful if used in the server as a\n" -" request is processed.\n" -" " +#: ipalib/plugins/internal.py:413 +msgid "Privilege Settings" +msgstr "" + +#: ipalib/plugins/internal.py:416 ipalib/plugins/pwpolicy.py:221 +msgid "Password Policy" +msgstr "" + +#: ipalib/plugins/internal.py:419 +msgid "Role Settings" +msgstr "" + +#: ipalib/plugins/internal.py:424 +msgid "Service Certificate" msgstr "" -#: ipalib/plugins/kerberos.py:103 +#: ipalib/plugins/internal.py:426 +msgid "Service Settings" +msgstr "" + +#: ipalib/plugins/internal.py:429 +msgid "Provisioning" +msgstr "" + +#: ipalib/plugins/internal.py:433 +msgid "Are you sure you want to unprovision this service?" +msgstr "" + +#: ipalib/plugins/internal.py:435 +msgid "Kerberos Key Present, Service Provisioned" +msgstr "" + +#: ipalib/plugins/internal.py:438 +msgid "Groups" +msgstr "" + +#: ipalib/plugins/internal.py:441 ipalib/plugins/sudocmdgroup.py:82 +msgid "Commands" +msgstr "" + +#: ipalib/plugins/internal.py:445 +msgid "Allow" +msgstr "" + +#: ipalib/plugins/internal.py:446 +msgid "Any Command" +msgstr "" + +#: ipalib/plugins/internal.py:447 +msgid "Any Group" +msgstr "" + +#: ipalib/plugins/internal.py:450 +msgid "Run Commands" +msgstr "" + +#: ipalib/plugins/internal.py:451 +msgid "Deny" +msgstr "" + +#: ipalib/plugins/internal.py:452 +msgid "External" +msgstr "" + +#: ipalib/plugins/internal.py:453 +msgid "Access this host" +msgstr "" + +#: ipalib/plugins/internal.py:456 +msgid "Options" +msgstr "" + +#: ipalib/plugins/internal.py:457 +msgid "As Whom" +msgstr "" + +#: ipalib/plugins/internal.py:458 +msgid "Specified Commands and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:459 +msgid "Specified Groups" +msgstr "" + +#: ipalib/plugins/internal.py:465 +msgid "Account Settings" +msgstr "" + +#: ipalib/plugins/internal.py:466 +msgid "Account Status" +msgstr "" + +#: ipalib/plugins/internal.py:467 +msgid "Activate" +msgstr "" + +#: ipalib/plugins/internal.py:468 msgid "" -"\n" -" Return the principal from credential cache file at ``ccname``.\n" -"\n" -" This will return something like 'admin@EXAMPLE.COM'.\n" -" " +"Are you sure you want to ${action} the user?<br/>The change will take effect" +" immediately." +msgstr "" + +#: ipalib/plugins/internal.py:469 +msgid "Click to ${action}" +msgstr "" + +#: ipalib/plugins/internal.py:471 +msgid "Contact Settings" msgstr "" -#: ipalib/plugins/kerberos.py:111 +#: ipalib/plugins/internal.py:472 +msgid "Deactivate" +msgstr "" + +#: ipalib/plugins/internal.py:473 +msgid "Employee Information" +msgstr "" + +#: ipalib/plugins/internal.py:474 +msgid "Error changing account status" +msgstr "" + +#: ipalib/plugins/internal.py:476 +msgid "Mailing Address" +msgstr "" + +#: ipalib/plugins/internal.py:477 +msgid "Misc. Information" +msgstr "" + +#: ipalib/plugins/internal.py:481 ipalib/plugins/passwd.py:79 +msgid "Current Password" +msgstr "" + +#: ipalib/plugins/internal.py:482 +msgid "Current password is required" +msgstr "" + +#: ipalib/plugins/internal.py:483 ipalib/plugins/passwd.py:76 +msgid "New Password" +msgstr "" + +#: ipalib/plugins/internal.py:484 +msgid "Password change complete" +msgstr "" + +#: ipalib/plugins/internal.py:485 +msgid "Passwords must match" +msgstr "" + +#: ipalib/plugins/internal.py:486 +msgid "Reset Password" +msgstr "" + +#: ipalib/plugins/internal.py:487 +msgid "Verify Password" +msgstr "" + +#: ipalib/plugins/internal.py:490 +msgid "Are you sure you want to delete selected entries?" +msgstr "" + +#: ipalib/plugins/internal.py:491 +msgid "Some entries were not deleted" +msgstr "" + +#: ipalib/plugins/internal.py:492 +msgid "Quick Links" +msgstr "" + +#: ipalib/plugins/internal.py:493 +msgid "Select All" +msgstr "" + +#: ipalib/plugins/internal.py:494 msgid "" -"\n" -" Return the realm from credential cache file at ``ccname``.\n" -"\n" -" This will return something like 'EXAMPLE.COM'.\n" -" " +"Query returned more results than the configured size limit. Displaying the " +"first ${counter} results." +msgstr "" + +#: ipalib/plugins/internal.py:495 +msgid "Unselect All" msgstr "" -#: ipalib/plugins/krbtpolicy.py:19 +#: ipalib/plugins/internal.py:498 +msgid "Audit" +msgstr "" + +#: ipalib/plugins/internal.py:499 +msgid "Automount" +msgstr "" + +#: ipalib/plugins/internal.py:500 +msgid "DNS" +msgstr "" + +#: ipalib/plugins/internal.py:501 +msgid "Host Based Access Control" +msgstr "" + +#: ipalib/plugins/internal.py:503 +msgid "IPA Server" +msgstr "" + +#: ipalib/plugins/internal.py:504 +msgid "Policy" +msgstr "" + +#: ipalib/plugins/internal.py:505 +msgid "Role Based Access Control" +msgstr "" + +#: ipalib/plugins/internal.py:506 +msgid "Sudo" +msgstr "" + +#: ipalib/plugins/internal.py:508 +msgid "True" +msgstr "" + +#: ipalib/plugins/internal.py:510 +msgid "Next" +msgstr "" + +#: ipalib/plugins/internal.py:511 +msgid "Page" +msgstr "" + +#: ipalib/plugins/internal.py:512 +msgid "Prev" +msgstr "" + +#: ipalib/plugins/internal.py:513 +msgid "undo" +msgstr "" + +#: ipalib/plugins/internal.py:514 +msgid "undo all" +msgstr "" + +#: ipalib/plugins/internal.py:516 +msgid "Text does not match field pattern" +msgstr "" + +#: ipalib/plugins/internal.py:517 +msgid "Must be an integer" +msgstr "" + +#: ipalib/plugins/internal.py:518 +msgid "Maximum value is ${value}" +msgstr "" + +#: ipalib/plugins/internal.py:519 +msgid "Minimum value is ${value}" +msgstr "" + +#: ipalib/plugins/internal.py:520 +msgid "Required field" +msgstr "" + +#: ipalib/plugins/internal.py:525 +msgid "Dict of I18N messages" +msgstr "" + +#: ipalib/plugins/krbtpolicy.py:25 msgid "" "\n" "Kerberos ticket policy\n" @@ -4482,63 +5223,47 @@ msgid "" " ipa krbtpolicy-mod admin --maxlife=3600\n" msgstr "" -#: ipalib/plugins/krbtpolicy.py:71 -msgid "" -"\n" -" Kerberos Ticket Policy object\n" -" " +#: ipalib/plugins/krbtpolicy.py:75 +msgid "kerberos ticket policy settings" msgstr "" -#: ipalib/plugins/krbtpolicy.py:79 +#: ipalib/plugins/krbtpolicy.py:79 ipalib/plugins/krbtpolicy.py:80 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/krbtpolicy.py:84 ipalib/plugins/passwd.py:53 -msgid "User name" -msgstr "" - -#: ipalib/plugins/krbtpolicy.py:85 +#: ipalib/plugins/krbtpolicy.py:86 msgid "Manage ticket policy for specific user" msgstr "" -#: ipalib/plugins/krbtpolicy.py:90 +#: ipalib/plugins/krbtpolicy.py:91 msgid "Max life" msgstr "" -#: ipalib/plugins/krbtpolicy.py:91 +#: ipalib/plugins/krbtpolicy.py:92 msgid "Maximum ticket life (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:96 +#: ipalib/plugins/krbtpolicy.py:97 msgid "Max renew" msgstr "" -#: ipalib/plugins/krbtpolicy.py:97 +#: ipalib/plugins/krbtpolicy.py:98 msgid "Maximum renewable age (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:111 -msgid "" -"\n" -" Modify Kerberos ticket policy.\n" -" " +#: ipalib/plugins/krbtpolicy.py:112 +msgid "Modify Kerberos ticket policy." msgstr "" #: ipalib/plugins/krbtpolicy.py:125 -msgid "" -"\n" -" Display the current Kerberos ticket policy.\n" -" " +msgid "Display the current Kerberos ticket policy." msgstr "" -#: ipalib/plugins/krbtpolicy.py:149 -msgid "" -"\n" -" Reset Kerberos ticket policy to the default values.\n" -" " +#: ipalib/plugins/krbtpolicy.py:148 +msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/migration.py:19 +#: ipalib/plugins/migration.py:34 msgid "" "\n" "Migration to IPA\n" @@ -4579,130 +5304,195 @@ msgid "" " Specify the user and group container. This can be used to migrate user and\n" " group data from an IPA v1 server:\n" " ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389\n" +"\n" +" Since IPA v2 server already contain predefined groups that may collide with\n" +" groups in migrated (IPA v1) server (for example admins, ipausers), users having\n" +" colliding group as their primary group may happen to belong to an unknown group\n" +" on new IPA v2 server.\n" +" Use --group-overwrite-gid option to overwrite GID of already existing groups\n" +" to prevent this issue:\n" +" ipa migrate-ds --group-overwrite-gid --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389\n" +"\n" msgstr "" -#: ipalib/plugins/migration.py:78 +#: 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:79 +#: 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:175 +#: ipalib/plugins/migration.py:88 +msgid "Migration of LDAP search reference is not supported." +msgstr "" + +#: ipalib/plugins/migration.py:89 +msgid "Malformed DN" +msgstr "" + +#: ipalib/plugins/migration.py:255 msgid "" -"\n" -" Convert usernames in member attributes to work in IPA.\n" -" " +". Check GID of the existing group. Use --group-overwrite-gid option to " +"overwrite the GID" msgstr "" -#: ipalib/plugins/migration.py:220 +#: ipalib/plugins/migration.py:270 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:225 -msgid "" -"\n" -" Migrate users and groups from DS to IPA.\n" -" " +#: ipalib/plugins/migration.py:275 +msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/migration.py:266 +#: ipalib/plugins/migration.py:322 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:267 +#: ipalib/plugins/migration.py:323 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:272 +#: ipalib/plugins/migration.py:329 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:279 +#: ipalib/plugins/migration.py:336 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:285 +#: ipalib/plugins/migration.py:342 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:286 +#: ipalib/plugins/migration.py:343 msgid "RDN of container for users in DS" msgstr "" -#: ipalib/plugins/migration.py:292 +#: ipalib/plugins/migration.py:349 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:293 +#: ipalib/plugins/migration.py:350 msgid "RDN of container for groups in DS" msgstr "" -#: ipalib/plugins/migration.py:299 +#: ipalib/plugins/migration.py:356 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:300 +#: ipalib/plugins/migration.py:357 msgid "" "Comma-separated list of objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:306 +#: ipalib/plugins/migration.py:364 msgid "Group object class" msgstr "" -#: ipalib/plugins/migration.py:307 +#: ipalib/plugins/migration.py:365 msgid "" "Comma-separated list of objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:313 +#: ipalib/plugins/migration.py:372 +msgid "Ignore user object class" +msgstr "" + +#: ipalib/plugins/migration.py:373 +msgid "" +"Comma-separated list of objectclasses to be ignored for user entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:380 +msgid "Ignore user attribute" +msgstr "" + +#: ipalib/plugins/migration.py:381 +msgid "" +"Comma-separated list of attributes to be ignored for user entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:388 +msgid "Ignore group object class" +msgstr "" + +#: ipalib/plugins/migration.py:389 +msgid "" +"Comma-separated list of objectclasses to be ignored for group entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:396 +msgid "Ignore group attribute" +msgstr "" + +#: ipalib/plugins/migration.py:397 +msgid "" +"Comma-separated list of attributes to be ignored for group entries in DS" +msgstr "" + +#: ipalib/plugins/migration.py:404 +msgid "Overwrite GID" +msgstr "" + +#: 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:410 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:314 +#: 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:320 +#: ipalib/plugins/migration.py:417 +msgid "Continue" +msgstr "" + +#: ipalib/plugins/migration.py:418 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:328 +#: ipalib/plugins/migration.py:426 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:332 +#: ipalib/plugins/migration.py:430 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:336 +#: ipalib/plugins/migration.py:434 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:340 +#: ipalib/plugins/migration.py:438 +#, python-format msgid "comma-separated list of %s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:342 +#: 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:347 +#: ipalib/plugins/migration.py:445 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:350 +#: 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" @@ -4711,46 +5501,23 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:358 -msgid "" -"\n" -" Call get_options of the baseclass and add \"exclude\" options\n" -" for each type of object being migrated.\n" -" " -msgstr "" - -#: ipalib/plugins/migration.py:375 -msgid "" -"\n" -" Convert all \"exclude\" option values to lower-case.\n" -"\n" -" Also, empty List parameters are converted to None, but the migration\n" -" plugin doesn't like that - convert back to empty lists.\n" -" " -msgstr "" - -#: ipalib/plugins/migration.py:399 -msgid "" -"\n" -" Migrate objects from DS to LDAP.\n" -" " -msgstr "" - -#: ipalib/plugins/migration.py:425 +#: ipalib/plugins/migration.py:523 +#, python-format msgid "Container for %(container)s not found" msgstr "" -#: ipalib/plugins/misc.py:20 +#: ipalib/plugins/misc.py:25 msgid "" "\n" "Misc plug-ins\n" msgstr "" #: ipalib/plugins/misc.py:36 -msgid "Show environment variables" +msgid "Show environment variables." msgstr "" #: ipalib/plugins/misc.py:38 +#, python-format msgid "%(count)d variables" msgstr "" @@ -4768,10 +5535,11 @@ msgid "Number of variables returned (<= total)" msgstr "" #: ipalib/plugins/misc.py:106 -msgid "Show all loaded plugins" +msgid "Show all loaded plugins." msgstr "" -#: ipalib/plugins/misc.py:108 +#: ipalib/plugins/misc.py:109 +#, python-format msgid "%(count)d plugin loaded" msgid_plural "%(count)d plugins loaded" msgstr[0] "" @@ -4781,7 +5549,7 @@ msgstr[1] "" msgid "Number of plugins loaded" msgstr "" -#: ipalib/plugins/netgroup.py:20 +#: ipalib/plugins/netgroup.py:28 msgid "" "\n" "Netgroups\n" @@ -4807,105 +5575,104 @@ msgid "" " ipa netgroup-del admins\n" msgstr "" -#: ipalib/plugins/netgroup.py:59 +#: ipalib/plugins/netgroup.py:60 msgid "Member Host" msgstr "" -#: ipalib/plugins/netgroup.py:67 -msgid "" -"\n" -" Netgroup object.\n" -" " +#: ipalib/plugins/netgroup.py:72 +msgid "netgroup" +msgstr "" + +#: ipalib/plugins/netgroup.py:73 +msgid "netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:98 +#: ipalib/plugins/netgroup.py:99 msgid "Netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:103 +#: ipalib/plugins/netgroup.py:100 +msgid "Netgroup" +msgstr "" + +#: ipalib/plugins/netgroup.py:105 msgid "Netgroup name" msgstr "" -#: ipalib/plugins/netgroup.py:110 +#: ipalib/plugins/netgroup.py:112 msgid "Netgroup description" msgstr "" -#: ipalib/plugins/netgroup.py:114 +#: ipalib/plugins/netgroup.py:116 msgid "NIS domain name" msgstr "" -#: ipalib/plugins/netgroup.py:119 +#: ipalib/plugins/netgroup.py:121 msgid "IPA unique ID" msgstr "" -#: ipalib/plugins/netgroup.py:140 -msgid "" -"\n" -" Add a new netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:142 +msgid "Add a new netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:144 +#: ipalib/plugins/netgroup.py:145 +#, python-format msgid "Added netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:153 +#: ipalib/plugins/netgroup.py:162 +#, python-format msgid "" -"\n" -" Delete a netgroup.\n" -" " +"hostgroup with name \"%s\" already exists. Hostgroups and netgroups share a " +"common namespace" msgstr "" -#: ipalib/plugins/netgroup.py:156 +#: ipalib/plugins/netgroup.py:174 +msgid "Delete a netgroup." +msgstr "" + +#: ipalib/plugins/netgroup.py:176 +#, python-format msgid "Deleted netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:162 -msgid "" -"\n" -" Modify a netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:182 +msgid "Modify a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:166 +#: ipalib/plugins/netgroup.py:185 +#, python-format msgid "Modified netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:180 -msgid "" -"\n" -" Search for a netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:199 +msgid "Search for a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:185 +#: ipalib/plugins/netgroup.py:204 +#, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/netgroup.py:213 -msgid "" -"\n" -" Display information about a netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:214 +msgid "search for managed groups" msgstr "" -#: ipalib/plugins/netgroup.py:222 -msgid "" -"\n" -" Add members to a netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:236 +msgid "Display information about a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:258 -msgid "" -"\n" -" Remove members from a netgroup.\n" -" " +#: ipalib/plugins/netgroup.py:244 +msgid "Add members to a netgroup." msgstr "" -#: ipalib/plugins/passwd.py:19 +#: ipalib/plugins/netgroup.py:279 +msgid "Remove members from a netgroup." +msgstr "" + +#: ipalib/plugins/passwd.py:28 msgid "" "\n" "Set a user's password\n" @@ -4926,33 +5693,16 @@ msgid "" " ipa passwd tuser1\n" msgstr "" -#: ipalib/plugins/passwd.py:46 -msgid "" -"\n" -" Set a user's password\n" -" " -msgstr "" - #: ipalib/plugins/passwd.py:64 -msgid "Changed password for \"%(value)s\"" +msgid "Set a user's password." msgstr "" -#: ipalib/plugins/passwd.py:67 -msgid "" -"\n" -" Execute the passwd operation.\n" -"\n" -" The dn should not be passed as a keyword argument as it is constructed\n" -" by this method.\n" -"\n" -" Returns the entry\n" -"\n" -" :param principal: The login name or principal of the user\n" -" :param password: the new password\n" -" " +#: ipalib/plugins/passwd.py:88 +#, python-format +msgid "Changed password for \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:19 +#: ipalib/plugins/permission.py:27 msgid "" "\n" "Permissions\n" @@ -5008,136 +5758,101 @@ msgid "" " ipa permission-add --attrs=member --permissions=write --type=group \"Manage Group Members\"\n" msgstr "" -#: ipalib/plugins/permission.py:84 +#: ipalib/plugins/permission.py:85 msgid "Permission Type" msgstr "" -#: ipalib/plugins/permission.py:89 -msgid "" -"\n" -" Permission object.\n" -" " +#: ipalib/plugins/permission.py:94 +msgid "permission" +msgstr "" + +#: ipalib/plugins/permission.py:95 +msgid "permissions" msgstr "" -#: ipalib/plugins/permission.py:112 +#: ipalib/plugins/permission.py:114 msgid "Permission name" msgstr "" -#: ipalib/plugins/permission.py:119 +#: ipalib/plugins/permission.py:120 msgid "" "Comma-separated list of permissions to grant (read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/permission.py:132 +#: ipalib/plugins/permission.py:135 msgid "" "Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)" msgstr "" -#: ipalib/plugins/permission.py:138 +#: ipalib/plugins/permission.py:141 msgid "Member of group" msgstr "" -#: ipalib/plugins/permission.py:139 +#: ipalib/plugins/permission.py:142 msgid "Target members of a group" msgstr "" -#: ipalib/plugins/permission.py:151 +#: ipalib/plugins/permission.py:154 msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:157 +#: ipalib/plugins/permission.py:160 msgid "User group to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:177 -msgid "" -"\n" -" Add a new permission.\n" -" " +#: ipalib/plugins/permission.py:180 +msgid "Add a new permission." msgstr "" -#: ipalib/plugins/permission.py:181 +#: ipalib/plugins/permission.py:182 +#, python-format msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:236 -msgid "" -"\n" -" Delete a permission.\n" -" " +#: ipalib/plugins/permission.py:237 +msgid "Delete a permission." msgstr "" -#: ipalib/plugins/permission.py:240 +#: ipalib/plugins/permission.py:239 +#, python-format msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:256 -msgid "" -"\n" -" Modify a permission.\n" -" " +#: ipalib/plugins/permission.py:255 +msgid "Modify a permission." msgstr "" -#: ipalib/plugins/permission.py:260 +#: ipalib/plugins/permission.py:257 +#, python-format msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:352 -msgid "" -"\n" -" Search for permissions.\n" -" " +#: ipalib/plugins/permission.py:349 +msgid "Search for permissions." msgstr "" -#: ipalib/plugins/permission.py:356 +#: 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:405 -msgid "" -"\n" -" Display information about a permission.\n" -" " +#: ipalib/plugins/permission.py:402 +msgid "Display information about a permission." msgstr "" -#: ipalib/plugins/permission.py:428 -msgid "" -"\n" -" Add members to a permission.\n" -" " -msgstr "" - -#: ipalib/plugins/permission.py:437 -msgid "" -"\n" -" Remove members from a permission.\n" -" " -msgstr "" - -#: ipalib/plugins/ping.py:19 +#: ipalib/plugins/ping.py:26 msgid "" "\n" "Ping the remote IPA server\n" msgstr "" -#: ipalib/plugins/ping.py:29 -msgid "" -"\n" -" ping a remote server\n" -" " +#: ipalib/plugins/ping.py:31 +msgid "Ping a remote server." msgstr "" -#: ipalib/plugins/ping.py:37 -msgid "" -"\n" -" A possible enhancement would be to take an argument and echo it\n" -" back but a fixed value works for now.\n" -" " -msgstr "" - -#: ipalib/plugins/pkinit.py:19 +#: ipalib/plugins/pkinit.py:25 msgid "" "\n" "Kerberos pkinit options\n" @@ -5159,32 +5874,19 @@ msgid "" "http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgstr "" -#: ipalib/plugins/pkinit.py:46 -msgid "" -"\n" -" PKINIT Options\n" -" " +#: ipalib/plugins/pkinit.py:49 +msgid "pkinit" msgstr "" #: ipalib/plugins/pkinit.py:51 msgid "PKINIT" msgstr "" -#: ipalib/plugins/pkinit.py:56 -msgid "" -"\n" -" Accepts only Enable/Disable.\n" -" " -msgstr "" - #: ipalib/plugins/pkinit.py:67 -msgid "" -"\n" -" Enable or Disable Anonymous PKINIT\n" -" " +msgid "Enable or Disable Anonymous PKINIT." msgstr "" -#: ipalib/plugins/privilege.py:19 +#: ipalib/plugins/privilege.py:23 msgid "" "\n" "Privileges\n" @@ -5207,18 +5909,23 @@ msgid "" "See role and permission for additional information.\n" msgstr "" -#: ipalib/plugins/privilege.py:45 -msgid "" -"\n" -" Privilege object.\n" -" " +#: ipalib/plugins/privilege.py:49 +msgid "privilege" +msgstr "" + +#: ipalib/plugins/privilege.py:50 +msgid "privileges" msgstr "" #: ipalib/plugins/privilege.py:65 msgid "Privileges" msgstr "" -#: ipalib/plugins/privilege.py:70 +#: ipalib/plugins/privilege.py:66 +msgid "Privilege" +msgstr "" + +#: ipalib/plugins/privilege.py:71 msgid "Privilege name" msgstr "" @@ -5227,95 +5934,68 @@ msgid "Privilege description" msgstr "" #: ipalib/plugins/privilege.py:85 -msgid "" -"\n" -" Add a new privilege.\n" -" " +msgid "Add a new privilege." msgstr "" -#: ipalib/plugins/privilege.py:89 +#: ipalib/plugins/privilege.py:87 +#, python-format msgid "Added privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:95 -msgid "" -"\n" -" Delete a privilege.\n" -" " +#: ipalib/plugins/privilege.py:93 +msgid "Delete a privilege." msgstr "" -#: ipalib/plugins/privilege.py:99 +#: ipalib/plugins/privilege.py:95 +#, python-format msgid "Deleted privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:105 -msgid "" -"\n" -" Modify a privilege.\n" -" " +#: ipalib/plugins/privilege.py:101 +msgid "Modify a privilege." msgstr "" -#: ipalib/plugins/privilege.py:109 +#: ipalib/plugins/privilege.py:103 +#, python-format msgid "Modified privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:115 -msgid "" -"\n" -" Search for privileges.\n" -" " +#: ipalib/plugins/privilege.py:109 +msgid "Search for privileges." msgstr "" -#: ipalib/plugins/privilege.py:119 +#: ipalib/plugins/privilege.py:112 +#, python-format msgid "%(count)d privilege matched" msgid_plural "%(count)d privileges matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/privilege.py:127 -msgid "" -"\n" -" Display information about a privilege.\n" -" " -msgstr "" - -#: ipalib/plugins/privilege.py:135 -msgid "" -"\n" -" Add members to a privilege\n" -" " +#: ipalib/plugins/privilege.py:119 +msgid "Display information about a privilege." msgstr "" -#: ipalib/plugins/privilege.py:144 -msgid "" -"\n" -" Remove members from a privilege\n" -" " +#: ipalib/plugins/privilege.py:125 +msgid "Add members to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:153 -msgid "" -"\n" -" Add permissions to a privilege.\n" -" " +#: ipalib/plugins/privilege.py:142 +msgid "Add permissions to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:169 +#: ipalib/plugins/privilege.py:157 msgid "Number of permissions added" msgstr "" -#: ipalib/plugins/privilege.py:177 -msgid "" -"\n" -" Remove permissions from a privilege.\n" -" " +#: ipalib/plugins/privilege.py:165 +msgid "Remove permissions from a privilege." msgstr "" -#: ipalib/plugins/privilege.py:195 +#: ipalib/plugins/privilege.py:182 msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/pwpolicy.py:20 +#: ipalib/plugins/pwpolicy.py:29 msgid "" "\n" "Password policy\n" @@ -5360,164 +6040,144 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:72 -msgid "" -"\n" -" Class of Service object used for linking policies with groups\n" -" " +#: ipalib/plugins/pwpolicy.py:89 +#, python-format +msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:87 -msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" +#: ipalib/plugins/pwpolicy.py:177 +msgid "password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:172 -msgid "" -"\n" -" Password Policy object\n" -" " +#: ipalib/plugins/pwpolicy.py:178 +msgid "password policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:201 +#: ipalib/plugins/pwpolicy.py:202 msgid "Max failures" msgstr "" -#: ipalib/plugins/pwpolicy.py:202 +#: ipalib/plugins/pwpolicy.py:203 msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/pwpolicy.py:207 +#: ipalib/plugins/pwpolicy.py:208 msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/pwpolicy.py:208 +#: ipalib/plugins/pwpolicy.py:209 msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:213 +#: ipalib/plugins/pwpolicy.py:214 msgid "Lockout duration" msgstr "" -#: ipalib/plugins/pwpolicy.py:214 +#: ipalib/plugins/pwpolicy.py:215 msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:224 +#: ipalib/plugins/pwpolicy.py:220 +msgid "Password Policies" +msgstr "" + +#: ipalib/plugins/pwpolicy.py:226 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:225 +#: ipalib/plugins/pwpolicy.py:227 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:230 +#: ipalib/plugins/pwpolicy.py:232 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:231 +#: ipalib/plugins/pwpolicy.py:233 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:236 +#: ipalib/plugins/pwpolicy.py:238 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:237 +#: ipalib/plugins/pwpolicy.py:239 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:242 +#: ipalib/plugins/pwpolicy.py:244 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:243 +#: ipalib/plugins/pwpolicy.py:245 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:248 +#: ipalib/plugins/pwpolicy.py:250 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:249 +#: ipalib/plugins/pwpolicy.py:251 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:255 +#: ipalib/plugins/pwpolicy.py:257 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:256 +#: ipalib/plugins/pwpolicy.py:258 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:261 +#: ipalib/plugins/pwpolicy.py:263 msgid "Priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:262 +#: ipalib/plugins/pwpolicy.py:264 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:294 -msgid "" -"\n" -" Ensure that the maximum lifetime is greater than the minimum.\n" -" If there is no minimum lifetime set then don't return an error.\n" -" " -msgstr "" - -#: ipalib/plugins/pwpolicy.py:314 +#: ipalib/plugins/pwpolicy.py:317 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:333 -msgid "" -"\n" -" Add a new group password policy.\n" -" " +#: ipalib/plugins/pwpolicy.py:336 +msgid "Add a new group password policy." msgstr "" #: ipalib/plugins/pwpolicy.py:361 -msgid "" -"\n" -" Delete a group password policy.\n" -" " +msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:380 -msgid "" -"\n" -" Modify a group password policy.\n" -" " +#: ipalib/plugins/pwpolicy.py:372 +msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:391 -msgid "priority cannot be set on global policy" +#: ipalib/plugins/pwpolicy.py:387 +msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:423 -msgid "" -"\n" -" Display information about password policy.\n" -" " +#: ipalib/plugins/pwpolicy.py:397 +msgid "priority cannot be set on global policy" msgstr "" #: ipalib/plugins/pwpolicy.py:428 +msgid "Display information about password policy." +msgstr "" + +#: ipalib/plugins/pwpolicy.py:432 ipalib/plugins/user.py:169 msgid "User" msgstr "" -#: ipalib/plugins/pwpolicy.py:429 +#: ipalib/plugins/pwpolicy.py:433 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:452 -msgid "" -"\n" -" Search for group password policies.\n" -" " +#: ipalib/plugins/pwpolicy.py:456 +msgid "Search for group password policies." msgstr "" -#: ipalib/plugins/role.py:20 +#: ipalib/plugins/role.py:26 msgid "" "\n" "Roles\n" @@ -5554,18 +6214,19 @@ msgid "" " add users, reset passwords or add a user to the default IPA user group.\n" msgstr "" -#: ipalib/plugins/role.py:62 -msgid "" -"\n" -" Role object.\n" -" " +#: ipalib/plugins/role.py:66 +msgid "role" msgstr "" -#: ipalib/plugins/role.py:81 +#: ipalib/plugins/role.py:67 +msgid "roles" +msgstr "" + +#: ipalib/plugins/role.py:82 msgid "Role" msgstr "" -#: ipalib/plugins/role.py:86 +#: ipalib/plugins/role.py:87 msgid "Role name" msgstr "" @@ -5574,95 +6235,72 @@ msgid "A description of this role-group" msgstr "" #: ipalib/plugins/role.py:101 -msgid "" -"\n" -" Add a new role.\n" -" " +msgid "Add a new role." msgstr "" -#: ipalib/plugins/role.py:105 +#: ipalib/plugins/role.py:103 +#, python-format msgid "Added role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:111 -msgid "" -"\n" -" Delete a role.\n" -" " +#: ipalib/plugins/role.py:109 +msgid "Delete a role." msgstr "" -#: ipalib/plugins/role.py:115 +#: ipalib/plugins/role.py:111 +#, python-format msgid "Deleted role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:121 -msgid "" -"\n" -" Modify a role.\n" -" " +#: ipalib/plugins/role.py:117 +msgid "Modify a role." msgstr "" -#: ipalib/plugins/role.py:125 +#: ipalib/plugins/role.py:119 +#, python-format msgid "Modified role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:131 -msgid "" -"\n" -" Search for roles.\n" -" " +#: ipalib/plugins/role.py:125 +msgid "Search for roles." msgstr "" -#: ipalib/plugins/role.py:135 +#: ipalib/plugins/role.py:128 +#, python-format msgid "%(count)d role matched" msgid_plural "%(count)d roles matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/role.py:143 -msgid "" -"\n" -" Display information about a role.\n" -" " +#: ipalib/plugins/role.py:135 +msgid "Display information about a role." msgstr "" -#: ipalib/plugins/role.py:151 -msgid "" -"\n" -" Add members to a role.\n" -" " +#: ipalib/plugins/role.py:141 +msgid "Add members to a role." msgstr "" -#: ipalib/plugins/role.py:159 -msgid "" -"\n" -" Remove members from a role.\n" -" " +#: ipalib/plugins/role.py:147 +msgid "Remove members from a role." msgstr "" -#: ipalib/plugins/role.py:167 -msgid "" -"\n" -" Add privileges to a role.\n" -" " +#: ipalib/plugins/role.py:153 +msgid "Add privileges to a role." msgstr "" -#: ipalib/plugins/role.py:183 +#: ipalib/plugins/role.py:168 msgid "Number of privileges added" msgstr "" -#: ipalib/plugins/role.py:191 -msgid "" -"\n" -" Remove privileges from a role.\n" -" " +#: ipalib/plugins/role.py:176 +msgid "Remove privileges from a role." msgstr "" -#: ipalib/plugins/role.py:207 +#: ipalib/plugins/role.py:191 msgid "Number of privileges removed" msgstr "" -#: ipalib/plugins/selfservice.py:19 +#: ipalib/plugins/selfservice.py:28 msgid "" "\n" "Self-service Permissions\n" @@ -5690,89 +6328,74 @@ msgid "" " ipa selfservice-del \"Users manage their own address\"\n" msgstr "" -#: ipalib/plugins/selfservice.py:56 -msgid "" -"\n" -" Determine if the ACI is a Self-service ACI and raise an exception if it\n" -" isn't.\n" -"\n" -" Return the result if it is a self-service ACI.\n" -" " -msgstr "" - -#: ipalib/plugins/selfservice.py:64 +#: ipalib/plugins/selfservice.py:65 +#, python-format msgid "Self-service permission '%(permission)s' not found" msgstr "" -#: ipalib/plugins/selfservice.py:68 -msgid "" -"\n" -" Selfservice object.\n" -" " +#: ipalib/plugins/selfservice.py:74 +msgid "self service permission" msgstr "" #: ipalib/plugins/selfservice.py:75 +msgid "self service permissions" +msgstr "" + +#: ipalib/plugins/selfservice.py:76 msgid "Self Service Permissions" msgstr "" -#: ipalib/plugins/selfservice.py:80 ipalib/plugins/selfservice.py:81 -msgid "Self-service name" +#: ipalib/plugins/selfservice.py:77 +msgid "Self Service Permission" msgstr "" -#: ipalib/plugins/selfservice.py:114 -msgid "" -"\n" -" Add a new self-service permission.\n" -" " +#: ipalib/plugins/selfservice.py:82 ipalib/plugins/selfservice.py:83 +msgid "Self-service name" msgstr "" #: ipalib/plugins/selfservice.py:118 +msgid "Add a new self-service permission." +msgstr "" + +#: ipalib/plugins/selfservice.py:120 +#, python-format msgid "Added selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:137 -msgid "" -"\n" -" Delete a self-service permission.\n" -" " +#: ipalib/plugins/selfservice.py:139 +msgid "Delete a self-service permission." msgstr "" #: ipalib/plugins/selfservice.py:142 +#, python-format msgid "Deleted selfservice \"%(value)s\"" msgstr "" #: ipalib/plugins/selfservice.py:158 -msgid "" -"\n" -" Modify a self-service permission.\n" -" " +msgid "Modify a self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:162 +#: ipalib/plugins/selfservice.py:160 +#, python-format msgid "Modified selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:181 -msgid "" -"\n" -" Search for a self-service permission.\n" -" " +#: ipalib/plugins/selfservice.py:179 +msgid "Search for a self-service permission." msgstr "" -#: ipalib/plugins/selfservice.py:185 +#: 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:207 -msgid "" -"\n" -" Display information about a self-service permission.\n" -" " +#: ipalib/plugins/selfservice.py:203 +msgid "Display information about a self-service permission." msgstr "" -#: ipalib/plugins/service.py:21 +#: ipalib/plugins/service.py:35 msgid "" "\n" "Services\n" @@ -5825,118 +6448,82 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/service.py:162 -msgid "" -"\n" -" For now just verify that it is properly base64-encoded.\n" -" " +#: ipalib/plugins/service.py:204 +msgid "service" msgstr "" -#: ipalib/plugins/service.py:175 -msgid "" -"\n" -" Set individual attributes from some values from a certificate.\n" -"\n" -" entry_attrs is a dict of an entry\n" -"\n" -" returns nothing\n" -" " +#: ipalib/plugins/service.py:205 +msgid "services" msgstr "" -#: ipalib/plugins/service.py:199 -msgid "" -"\n" -" Service object.\n" -" " -msgstr "" - -#: ipalib/plugins/service.py:226 +#: ipalib/plugins/service.py:229 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:242 -msgid "" -"\n" -" Add a new IPA new service.\n" -" " +#: ipalib/plugins/service.py:245 +msgid "Add a new IPA new service." msgstr "" -#: ipalib/plugins/service.py:245 +#: ipalib/plugins/service.py:247 +#, python-format msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:251 +#: ipalib/plugins/service.py:253 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:284 -msgid "" -"\n" -" Delete an IPA service.\n" -" " +#: ipalib/plugins/service.py:286 +msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/service.py:287 +#: ipalib/plugins/service.py:288 +#, python-format msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:321 -msgid "" -"\n" -" Modify an existing IPA service.\n" -" " +#: ipalib/plugins/service.py:322 +msgid "Modify an existing IPA service." msgstr "" #: ipalib/plugins/service.py:324 +#, python-format msgid "Modified service \"%(value)s\"" msgstr "" #: ipalib/plugins/service.py:356 -msgid "" -"\n" -" Search for IPA services.\n" -" " +msgid "Search for IPA services." msgstr "" #: 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:394 -msgid "" -"\n" -" Display information about an IPA service.\n" -" " +#: ipalib/plugins/service.py:391 +msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/service.py:432 -msgid "" -"\n" -" Add hosts that can manage this service.\n" -" " +#: ipalib/plugins/service.py:424 +msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:442 -msgid "" -"\n" -" Remove hosts that can manage this service.\n" -" " +#: ipalib/plugins/service.py:433 +msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:452 -msgid "" -"\n" -" Disable the Kerberos key and SSL certificate of a service.\n" -" " +#: ipalib/plugins/service.py:442 +msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/service.py:456 +#: ipalib/plugins/service.py:445 +#, python-format msgid "Disabled service \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:19 +#: ipalib/plugins/sudocmd.py:29 msgid "" "\n" "Sudo Commands\n" @@ -5953,189 +6540,178 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/sudocmd.py:46 -msgid "" -"\n" -" Sudo Command object.\n" -" " +#: ipalib/plugins/sudocmd.py:44 ipalib/plugins/sudocmdgroup.py:48 +msgid "commands for controlling sudo configuration" +msgstr "" + +#: ipalib/plugins/sudocmd.py:51 +msgid "sudo command" +msgstr "" + +#: ipalib/plugins/sudocmd.py:52 +msgid "sudo commands" msgstr "" -#: ipalib/plugins/sudocmd.py:64 +#: ipalib/plugins/sudocmd.py:65 msgid "Sudo Commands" msgstr "" -#: ipalib/plugins/sudocmd.py:69 +#: ipalib/plugins/sudocmd.py:66 ipalib/plugins/sudocmd.py:71 msgid "Sudo Command" msgstr "" -#: ipalib/plugins/sudocmd.py:75 +#: ipalib/plugins/sudocmd.py:77 msgid "A description of this command" msgstr "" -#: ipalib/plugins/sudocmd.py:98 -msgid "" -"\n" -" Create new sudo command.\n" -" " +#: ipalib/plugins/sudocmd.py:100 +msgid "Create new Sudo Command." msgstr "" #: ipalib/plugins/sudocmd.py:102 -msgid "Added sudo command \"%(value)s\"" +#, python-format +msgid "Added Sudo Command \"%(value)s\"" msgstr "" #: ipalib/plugins/sudocmd.py:107 -msgid "" -"\n" -" Delete sudo command.\n" -" " +msgid "Delete Sudo Command." msgstr "" -#: ipalib/plugins/sudocmd.py:111 -msgid "Deleted sudo command \"%(value)s\"" +#: ipalib/plugins/sudocmd.py:109 +#, python-format +msgid "Deleted Sudo Command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:116 -msgid "" -"\n" -" Modify command.\n" -" " +#: ipalib/plugins/sudocmd.py:114 +msgid "Modify Sudo Command." msgstr "" -#: ipalib/plugins/sudocmd.py:120 -msgid "Modified sudo command \"%(value)s\"" +#: ipalib/plugins/sudocmd.py:116 +#, python-format +msgid "Modified Sudo Command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmd.py:125 -msgid "" -"\n" -" Search for commands.\n" -" " +#: ipalib/plugins/sudocmd.py:121 +msgid "Search for Sudo Commands." msgstr "" -#: ipalib/plugins/sudocmd.py:129 -msgid "%(count)d sudo command matched" -msgid_plural "%(count)d sudo command matched" +#: ipalib/plugins/sudocmd.py:124 +#, python-format +msgid "%(count)d Sudo Command matched" +msgid_plural "%(count)d Sudo Commands matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudocmd.py:136 -msgid "" -"\n" -" Display sudo command.\n" -" " +#: ipalib/plugins/sudocmd.py:130 +msgid "Display Sudo Command." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:19 +#: ipalib/plugins/sudocmdgroup.py:25 msgid "" "\n" -"Groups of Sudo commands\n" +"Groups of Sudo Commands\n" "\n" -"Manage groups of Sudo commands.\n" +"Manage groups of Sudo Commands.\n" "\n" "EXAMPLES:\n" "\n" -" Add a new Sudo command group:\n" +" Add a new Sudo Command Group:\n" " ipa sudocmdgroup-add --desc='administrators commands' admincmds\n" "\n" -" Remove a Sudo command group:\n" +" Remove a Sudo Command Group:\n" " ipa sudocmdgroup-del admincmds\n" "\n" -" Manage Sudo command group membership, commands:\n" +" Manage Sudo Command Group membership, commands:\n" " ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less,/usr/bin/vim admincmds\n" "\n" -" Manage Sudo command group membership, commands:\n" +" Manage Sudo Command Group membership, commands:\n" " ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" -" Show a Sudo command group:\n" +" Show a Sudo Command Group:\n" " ipa group-show localadmins\n" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:50 -msgid "" -"\n" -" Sudo Group object.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:55 +msgid "sudo command group" +msgstr "" + +#: ipalib/plugins/sudocmdgroup.py:56 +msgid "sudo command groups" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:70 +#: ipalib/plugins/sudocmdgroup.py:67 ipalib/plugins/sudocmdgroup.py:72 msgid "Sudo Command Group" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:93 -msgid "" -"\n" -" Create new sudo command group.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:95 +msgid "Create new Sudo Command Group." msgstr "" #: ipalib/plugins/sudocmdgroup.py:97 -msgid "Added sudo command group \"%(value)s\"" +#, python-format +msgid "Added Sudo Command Group \"%(value)s\"" msgstr "" #: ipalib/plugins/sudocmdgroup.py:103 -msgid "" -"\n" -" Delete sudo command group.\n" -" " +msgid "Delete Sudo Command Group." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:107 -msgid "Deleted sudo command group \"%(value)s\"" +#: ipalib/plugins/sudocmdgroup.py:105 +#, python-format +msgid "Deleted Sudo Command Group \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:113 -msgid "" -"\n" -" Modify group.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:111 +msgid "Modify Sudo Command Group." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:117 -msgid "Modified sudo command group \"%(value)s\"" +#: ipalib/plugins/sudocmdgroup.py:113 +#, python-format +msgid "Modified Sudo Command Group \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:123 -msgid "" -"\n" -" Search for sudo command groups.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:119 +msgid "Search for Sudo Command Groups." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:127 -msgid "%(count)d sudo command group matched" -msgid_plural "%(count)d sudo command groups matched" +#: ipalib/plugins/sudocmdgroup.py:122 +#, python-format +msgid "%(count)d Sudo Command Group matched" +msgid_plural "%(count)d Sudo Command Groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudocmdgroup.py:136 -msgid "" -"\n" -" Display sudo command group.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:130 +msgid "Display Sudo Command Group." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:144 -msgid "" -"\n" -" Add members to sudo command group.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:136 +msgid "Add members to Sudo Command Group." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:152 -msgid "" -"\n" -" Remove members from sudo command group.\n" -" " +#: ipalib/plugins/sudocmdgroup.py:142 +msgid "Remove members from Sudo Command Group." msgstr "" -#: ipalib/plugins/sudorule.py:19 +#: ipalib/plugins/sudorule.py:25 msgid "" "\n" +"Sudo Rules\n" +"\n" "Sudo (su \"do\") allows a system administrator to delegate authority to\n" "give certain users (or groups of users) the ability to run some (or all)\n" "commands as root or another user while providing an audit trail of the\n" "commands and their arguments.\n" "\n" +"FreeIPA provides a means to configure the various aspects of Sudo:\n" +" Users: The user(s)/group(s) allowed to envoke Sudo.\n" +" Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo.\n" +" Allow Command: The specific command(s) permited to be run via Sudo.\n" +" Deny Command: The specific command(s) prohibited to be run via Sudo.\n" +" RunAsUser: The user(s) or group(s) of users whose rights Sudo will be invoked with.\n" +" RunAsGroup: The group(s) whose gid rights Sudo will be invoked with.\n" +" Options: The various Sudoers Options that can modify Sudo's behavior.\n" +"\n" "FreeIPA provides a designated binddn to use with Sudo located at:\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" "\n" @@ -6145,223 +6721,242 @@ msgid "" "For more information, see the FreeIPA Documentation to Sudo.\n" msgstr "" -#: ipalib/plugins/sudorule.py:44 -msgid "" -"\n" -" Sudo Rule management\n" -" " +#: ipalib/plugins/sudorule.py:53 +msgid "Commands for controlling sudo configuration" +msgstr "" + +#: ipalib/plugins/sudorule.py:56 +msgid "this option has been deprecated." +msgstr "" + +#: ipalib/plugins/sudorule.py:72 +msgid "sudo rule" msgstr "" -#: ipalib/plugins/sudorule.py:68 +#: ipalib/plugins/sudorule.py:73 +msgid "sudo rules" +msgstr "" + +#: ipalib/plugins/sudorule.py:92 +msgid "Sudo Rules" +msgstr "" + +#: ipalib/plugins/sudorule.py:93 msgid "Sudo Rule" msgstr "" -#: ipalib/plugins/sudorule.py:98 +#: ipalib/plugins/sudorule.py:123 msgid "Command category" msgstr "" -#: ipalib/plugins/sudorule.py:99 +#: ipalib/plugins/sudorule.py:124 msgid "Command category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:104 -msgid "Run As User category" +#: ipalib/plugins/sudorule.py:129 +msgid "RunAs User category" msgstr "" -#: ipalib/plugins/sudorule.py:105 -msgid "Run As User category the rule applies to" +#: ipalib/plugins/sudorule.py:130 +msgid "RunAs User category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:110 -msgid "Run As Group category" +#: ipalib/plugins/sudorule.py:135 +msgid "RunAs Group category" msgstr "" -#: ipalib/plugins/sudorule.py:111 -msgid "Run As Group category the rule applies to" +#: ipalib/plugins/sudorule.py:136 +msgid "RunAs Group category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:131 +#: ipalib/plugins/sudorule.py:156 msgid "Sudo Allow Commands" msgstr "" -#: ipalib/plugins/sudorule.py:135 +#: ipalib/plugins/sudorule.py:160 msgid "Sudo Deny Commands" msgstr "" -#: ipalib/plugins/sudorule.py:147 -msgid "Run As User" +#: ipalib/plugins/sudorule.py:164 +msgid "Sudo Allow Command Groups" msgstr "" -#: ipalib/plugins/sudorule.py:151 -msgid "Run As Group" +#: ipalib/plugins/sudorule.py:168 +msgid "Sudo Deny Command Groups" msgstr "" -#: ipalib/plugins/sudorule.py:156 +#: ipalib/plugins/sudorule.py:172 +msgid "RunAs Users" +msgstr "" + +#: ipalib/plugins/sudorule.py:173 +msgid "Run as a user" +msgstr "" + +#: ipalib/plugins/sudorule.py:177 +msgid "Groups of RunAs Users" +msgstr "" + +#: ipalib/plugins/sudorule.py:178 +msgid "Run as any user within a specified group" +msgstr "" + +#: ipalib/plugins/sudorule.py:183 msgid "External User" msgstr "" -#: ipalib/plugins/sudorule.py:157 -msgid "External User the rule applies to" +#: ipalib/plugins/sudorule.py:184 +msgid "External User the rule applies to (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:161 +#: ipalib/plugins/sudorule.py:188 msgid "RunAs External User" msgstr "" -#: ipalib/plugins/sudorule.py:162 -msgid "External User the commands can run as" +#: ipalib/plugins/sudorule.py:189 +msgid "External User the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:166 +#: ipalib/plugins/sudorule.py:193 msgid "RunAs External Group" msgstr "" -#: ipalib/plugins/sudorule.py:167 -msgid "External Group the commands can run as" +#: ipalib/plugins/sudorule.py:194 +msgid "External Group the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:175 -msgid "" -"\n" -" Create new Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:197 ipalib/plugins/sudorule.py:618 +#: ipalib/plugins/sudorule.py:670 +msgid "Sudo Option" msgstr "" -#: ipalib/plugins/sudorule.py:183 -msgid "Added sudo rule \"%(value)s\"" +#: ipalib/plugins/sudorule.py:201 +msgid "RunAs Groups" msgstr "" -#: ipalib/plugins/sudorule.py:189 -msgid "" -"\n" -" Delete Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:202 +msgid "Run with the gid of a specified POSIX group" msgstr "" -#: ipalib/plugins/sudorule.py:197 -msgid "" -"\n" -" Modify Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:211 +msgid "Create new Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:205 -msgid "" -"\n" -" Search for Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:218 +#, python-format +msgid "Added Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:213 -msgid "" -"\n" -" Display Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:224 +msgid "Delete Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:221 -msgid "" -"\n" -" Enable a Sudo rule.\n" -" " +#: ipalib/plugins/sudorule.py:226 +#, python-format +msgid "Deleted Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:247 -msgid "" -"\n" -" Disable a Sudo rule.\n" -" " +#: ipalib/plugins/sudorule.py:232 +msgid "Modify Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:273 ipalib/plugins/sudorule.py:293 -msgid "" -"\n" -" Add commands and sudo command groups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:234 +#, python-format +msgid "Modified Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:283 ipalib/plugins/sudorule.py:303 -msgid "" -"\n" -" Remove commands and sudo command groups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:240 +msgid "Search for Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:313 -msgid "" -"\n" -" Add users and groups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:243 +#, python-format +msgid "%(count)d Sudo Rule matched" +msgid_plural "%(count)d Sudo Rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/sudorule.py:250 +msgid "Display Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:349 -msgid "" -"\n" -" Remove users and groups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:256 +msgid "Enable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:383 -msgid "" -"\n" -" Add hosts and hostgroups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:274 +#, python-format +msgid "Enabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:419 -msgid "" -"\n" -" Remove hosts and hostgroups affected by Sudo Rule.\n" -" " +#: ipalib/plugins/sudorule.py:280 +msgid "Disable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:453 -msgid "" -"\n" -" Add user for Sudo to execute as.\n" -" " +#: ipalib/plugins/sudorule.py:298 +#, python-format +msgid "Disabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:489 -msgid "" -"\n" -" Remove user for Sudo to execute as.\n" -" " +#: ipalib/plugins/sudorule.py:304 ipalib/plugins/sudorule.py:322 +msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:523 -msgid "" -"\n" -" Add group for Sudo to execute as.\n" -" " +#: ipalib/plugins/sudorule.py:313 ipalib/plugins/sudorule.py:331 +msgid "Remove commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:559 -msgid "" -"\n" -" Remove group for Sudo to execute as.\n" -" " +#: ipalib/plugins/sudorule.py:340 +msgid "Add users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:593 -msgid "" -"\n" -" Add an option to the Sudo rule.\n" -" " +#: ipalib/plugins/sudorule.py:375 +msgid "Remove users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:600 ipalib/plugins/sudorule.py:641 -msgid "Sudo Option" +#: ipalib/plugins/sudorule.py:408 +msgid "Add hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:635 -msgid "" -"\n" -" Remove an option from Sudo rule.\n" -" " +#: ipalib/plugins/sudorule.py:443 +msgid "Remove hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/user.py:20 +#: ipalib/plugins/sudorule.py:477 +msgid "Add users and groups for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:512 +msgid "Remove users and groups for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:545 +msgid "Add group for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:580 +msgid "Remove group for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:613 +msgid "Add an option to the Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:655 +#, python-format +msgid "Added option \"%s\" to Sudo Rule \"%s\"" +msgstr "" + +#: ipalib/plugins/sudorule.py:665 +msgid "Remove an option from Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:710 +#, python-format +msgid "Removed option \"%s\" from Sudo Rule \"%s\"" +msgstr "" + +#: ipalib/plugins/user.py:29 msgid "" "\n" "Users\n" @@ -6402,235 +6997,213 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:79 -msgid "" -"\n" -" User object.\n" -" " +#: ipalib/plugins/user.py:73 +msgid "Kerberos keys available" +msgstr "" + +#: ipalib/plugins/user.py:140 +msgid "user" +msgstr "" + +#: ipalib/plugins/user.py:141 +msgid "users" msgstr "" -#: ipalib/plugins/user.py:116 +#: ipalib/plugins/user.py:177 msgid "User login" msgstr "" -#: ipalib/plugins/user.py:123 +#: ipalib/plugins/user.py:184 msgid "First name" msgstr "" -#: ipalib/plugins/user.py:127 +#: ipalib/plugins/user.py:188 msgid "Last name" msgstr "" -#: ipalib/plugins/user.py:130 +#: ipalib/plugins/user.py:191 msgid "Full name" msgstr "" -#: ipalib/plugins/user.py:135 +#: ipalib/plugins/user.py:196 msgid "Display name" msgstr "" -#: ipalib/plugins/user.py:140 +#: ipalib/plugins/user.py:201 msgid "Initials" msgstr "" -#: ipalib/plugins/user.py:146 +#: ipalib/plugins/user.py:207 msgid "Home directory" msgstr "" -#: ipalib/plugins/user.py:150 +#: ipalib/plugins/user.py:212 msgid "GECOS field" msgstr "" -#: ipalib/plugins/user.py:156 +#: ipalib/plugins/user.py:218 msgid "Login shell" msgstr "" -#: ipalib/plugins/user.py:161 +#: ipalib/plugins/user.py:223 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:168 +#: ipalib/plugins/user.py:231 msgid "Email address" msgstr "" -#: ipalib/plugins/user.py:173 +#: ipalib/plugins/user.py:236 msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/user.py:180 +#: ipalib/plugins/user.py:243 msgid "UID" msgstr "" -#: ipalib/plugins/user.py:181 +#: ipalib/plugins/user.py:244 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/user.py:188 +#: ipalib/plugins/user.py:251 msgid "Group ID Number" msgstr "" -#: ipalib/plugins/user.py:193 +#: ipalib/plugins/user.py:257 msgid "Street address" msgstr "" -#: ipalib/plugins/user.py:197 +#: ipalib/plugins/user.py:261 msgid "City" msgstr "" -#: ipalib/plugins/user.py:201 +#: ipalib/plugins/user.py:265 msgid "State/Province" msgstr "" -#: ipalib/plugins/user.py:204 +#: ipalib/plugins/user.py:268 msgid "ZIP" msgstr "" -#: ipalib/plugins/user.py:208 +#: ipalib/plugins/user.py:272 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/user.py:211 +#: ipalib/plugins/user.py:275 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/user.py:214 +#: ipalib/plugins/user.py:278 msgid "Pager Number" msgstr "" -#: ipalib/plugins/user.py:218 +#: ipalib/plugins/user.py:282 msgid "Fax Number" msgstr "" -#: ipalib/plugins/user.py:222 +#: ipalib/plugins/user.py:286 msgid "Org. Unit" msgstr "" -#: ipalib/plugins/user.py:225 +#: ipalib/plugins/user.py:289 msgid "Job Title" msgstr "" -#: ipalib/plugins/user.py:228 +#: ipalib/plugins/user.py:292 msgid "Manager" msgstr "" -#: ipalib/plugins/user.py:231 +#: ipalib/plugins/user.py:295 msgid "Car License" msgstr "" -#: ipalib/plugins/user.py:234 +#: ipalib/plugins/user.py:298 msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:258 -msgid "" -"\n" -" Given a userid verify the user's existence and return the dn.\n" -" " -msgstr "" - -#: ipalib/plugins/user.py:276 +#: ipalib/plugins/user.py:340 +#, python-format msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/user.py:281 -msgid "" -"\n" -" Convert a manager dn into a userid\n" -" " -msgstr "" - -#: ipalib/plugins/user.py:295 -msgid "" -"\n" -" Add a new user.\n" -" " +#: ipalib/plugins/user.py:359 +msgid "Add a new user." msgstr "" -#: ipalib/plugins/user.py:298 +#: ipalib/plugins/user.py:361 +#, python-format msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:303 +#: ipalib/plugins/user.py:368 msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/user.py:333 +#: ipalib/plugins/user.py:398 +#, python-format msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/user.py:400 -msgid "" -"\n" -" Delete a user.\n" -" " +#: ipalib/plugins/user.py:475 +msgid "Delete a user." msgstr "" -#: ipalib/plugins/user.py:404 +#: ipalib/plugins/user.py:477 +#, python-format msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:413 -msgid "" -"\n" -" Modify a user.\n" -" " +#: ipalib/plugins/user.py:486 +msgid "Modify a user." msgstr "" -#: ipalib/plugins/user.py:417 +#: ipalib/plugins/user.py:488 +#, python-format msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:437 -msgid "" -"\n" -" Search for users.\n" -" " +#: ipalib/plugins/user.py:510 +msgid "Search for users." msgstr "" -#: ipalib/plugins/user.py:444 +#: ipalib/plugins/user.py:517 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:445 +#: ipalib/plugins/user.py:518 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:463 +#: ipalib/plugins/user.py:539 +#, python-format msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/user.py:471 -msgid "" -"\n" -" Display information about a user.\n" -" " +#: ipalib/plugins/user.py:546 +msgid "Display information about a user." msgstr "" -#: ipalib/plugins/user.py:484 -msgid "" -"\n" -" Disable a user account.\n" -" " +#: ipalib/plugins/user.py:560 +msgid "Disable a user account." msgstr "" -#: ipalib/plugins/user.py:489 +#: ipalib/plugins/user.py:563 +#, python-format msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:507 -msgid "" -"\n" -" Enable a user account.\n" -" " +#: ipalib/plugins/user.py:581 +msgid "Enable a user account." msgstr "" -#: ipalib/plugins/user.py:512 +#: ipalib/plugins/user.py:585 +#, python-format msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:529 +#: ipalib/plugins/user.py:602 msgid "" "\n" " Unlock a user account\n" @@ -6638,505 +7211,61 @@ msgid "" " An account may become locked if the password is entered incorrectly too\n" " many times within a specific time period as controlled by password\n" " policy. A locked account is a temporary condition and may be unlocked by\n" -" an administrator.\n" -" " -msgstr "" - -#: ipalib/plugins/user.py:538 -msgid "Unlocked account \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/virtual.py:20 -msgid "" -"\n" -"Base classes for non-LDAP backend plugins.\n" -msgstr "" - -#: ipalib/plugins/virtual.py:28 -msgid "" -"\n" -" A command that doesn't use the LDAP backend but wants to use the\n" -" LDAP access control system to make authorization decisions.\n" -"\n" -" The class variable operation is the commonName attribute of the\n" -" entry to be tested against.\n" -"\n" -" In advance, you need to create an entry of the form:\n" -" cn=<operation>, api.env.container_virtual, api.env.basedn\n" -"\n" -" Ex.\n" -" cn=request certificate, cn=virtual operations,cn=etc, dc=example, dc=com\n" -" " -msgstr "" - -#: ipalib/plugins/virtual.py:44 -msgid "" -"\n" -" Perform an LDAP query to determine authorization.\n" -"\n" -" This should be executed before any actual work is done.\n" -" " -msgstr "" - -#: ipalib/plugins/xmlclient.py:21 -msgid "" -"\n" -"XML-RPC client plugin.\n" -msgstr "" - -#: ipalib/cli.py:581 -#, python-format -msgid "Enter %(label)s again to verify: " -msgstr "" - -#: ipalib/cli.py:585 ipa-client/ipa-getkeytab.c:751 -#, c-format -msgid "Passwords do not match!" -msgstr "" - -#: ipalib/cli.py:590 -msgid "Cancelled." -msgstr "" - -#: ipalib/cli.py:819 -msgid "Command name" -msgstr "" - -#: ipalib/cli.py:1117 -msgid "No file to read" -msgstr "" - -#: ipalib/errors.py:300 -#, python-format -msgid "%(cver)s client incompatible with %(sver)s server at %(server)r" -msgstr "" - -#: ipalib/errors.py:318 -#, python-format -msgid "unknown error %(code)d from %(server)s: %(error)s" -msgstr "" - -#: ipalib/errors.py:334 -msgid "an internal error has occurred" -msgstr "" - -#: ipalib/errors.py:356 -#, python-format -msgid "an internal error has occurred on server at %(server)r" -msgstr "" - -#: ipalib/errors.py:372 -#, python-format -msgid "unknown command %(name)r" -msgstr "" - -#: ipalib/errors.py:389 ipalib/errors.py:414 -#, python-format -msgid "error on server %(server)r: %(error)s" -msgstr "" - -#: ipalib/errors.py:405 -#, python-format -msgid "cannot connect to %(uri)r: %(error)s" +" an administrator." msgstr "" -#: ipalib/errors.py:423 +#: ipalib/plugins/user.py:611 #, python-format -msgid "Invalid JSON-RPC request: %(error)s" -msgstr "" - -#: ipalib/errors.py:439 -#, python-format -msgid "error marshalling data for XML-RPC transport: %(error)s" -msgstr "" - -#: ipalib/errors.py:465 -#, python-format -msgid "Kerberos error: %(major)s/%(minor)s" -msgstr "" - -#: ipalib/errors.py:482 -msgid "did not receive Kerberos credentials" -msgstr "" - -#: ipalib/errors.py:498 -#, python-format -msgid "Service %(service)r not found in Kerberos database" -msgstr "" - -#: ipalib/errors.py:514 -msgid "No credentials cache found" -msgstr "" - -#: ipalib/errors.py:530 -msgid "Ticket expired" -msgstr "" - -#: ipalib/errors.py:546 -msgid "Credentials cache permissions incorrect" -msgstr "" - -#: ipalib/errors.py:562 -msgid "Bad format in credentials cache" -msgstr "" - -#: ipalib/errors.py:578 -msgid "Cannot resolve KDC for requested realm" -msgstr "" - -#: ipalib/errors.py:597 -#, python-format -msgid "Insufficient access: %(info)s" -msgstr "" - -#: ipalib/errors.py:641 -#, python-format -msgid "command %(name)r takes no arguments" -msgstr "" - -#: ipalib/errors.py:661 -#, python-format -msgid "command %(name)r takes at most %(count)d argument" -msgid_plural "command %(name)r takes at most %(count)d arguments" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/errors.py:691 -#, python-format -msgid "overlapping arguments and options: %(names)r" -msgstr "" - -#: ipalib/errors.py:707 -#, python-format -msgid "%(name)r is required" -msgstr "" - -#: ipalib/errors.py:723 ipalib/errors.py:739 -#, python-format -msgid "invalid %(name)r: %(error)s" -msgstr "" - -#: ipalib/errors.py:755 -#, python-format -msgid "api has no such namespace: %(name)r" -msgstr "" - -#: ipalib/errors.py:764 -msgid "Passwords do not match" -msgstr "" - -#: ipalib/errors.py:773 -msgid "Command not implemented" -msgstr "" - -#: ipalib/errors.py:782 -msgid "Client is not configured. Run ipa-client-install." -msgstr "" - -#: ipalib/errors.py:810 ipalib/errors.py:1050 ipalib/errors.py:1144 -#: ipalib/errors.py:1424 ipalib/errors.py:1441 -#, python-format -msgid "%(reason)s" -msgstr "" - -#: ipalib/errors.py:826 -msgid "This entry already exists" -msgstr "" - -#: ipalib/errors.py:842 -msgid "You must enroll a host in order to create a host service" +msgid "Unlocked account \"%(value)s\"" msgstr "" -#: ipalib/errors.py:858 +#: ipalib/util.py:192 #, python-format -msgid "" -"Service principal is not of the form: service/fully-qualified host name: " -"%(reason)s" +msgid "Permission denied: %(file)s" msgstr "" -#: ipalib/errors.py:874 +#: ipalib/util.py:220 msgid "" -"The realm for the principal does not match the realm for this IPA server" -msgstr "" - -#: ipalib/errors.py:890 -msgid "This command requires root access" -msgstr "" - -#: ipalib/errors.py:906 -msgid "This is already a posix group" -msgstr "" - -#: ipalib/errors.py:922 -#, python-format -msgid "Principal is not of the form user@REALM: %(principal)r" -msgstr "" - -#: ipalib/errors.py:938 -msgid "This entry is already enabled" -msgstr "" - -#: ipalib/errors.py:954 -msgid "This entry is already disabled" -msgstr "" - -#: ipalib/errors.py:970 -msgid "This entry cannot be enabled or disabled" -msgstr "" - -#: ipalib/errors.py:986 -msgid "This entry is not a member" -msgstr "" - -#: ipalib/errors.py:1002 -msgid "A group may not be a member of itself" -msgstr "" - -#: ipalib/errors.py:1018 -msgid "This entry is already a member" -msgstr "" - -#: ipalib/errors.py:1034 -#, python-format -msgid "Base64 decoding failed: %(reason)s" -msgstr "" - -#: ipalib/errors.py:1066 -msgid "A group may not be added as a member of itself" -msgstr "" - -#: ipalib/errors.py:1082 -msgid "The default users group cannot be removed" -msgstr "" - -#: ipalib/errors.py:1098 -msgid "Host does not have corresponding DNS A record" -msgstr "" - -#: ipalib/errors.py:1113 -msgid "Deleting a managed group is not allowed. It must be detached first." -msgstr "" - -#: ipalib/errors.py:1128 -msgid "A managed group cannot have a password policy." +"mail account may only include letters, numbers, -, _ and a dot. There may " +"not be consecutive -, _ and . characters" msgstr "" -#: ipalib/errors.py:1160 -#, python-format -msgid "'%(entry)s' doesn't have a certificate." +#: ipalib/util.py:223 ipalib/util.py:264 +msgid "cannot be longer that 255 characters" msgstr "" -#: ipalib/errors.py:1176 -#, python-format -msgid "Unable to create private group. A group '%(group)s' already exists." +#: ipalib/util.py:233 +msgid "too many '@' characters" msgstr "" -#: ipalib/errors.py:1192 -#, python-format +#: ipalib/util.py:239 ipalib/util.py:253 msgid "" -"A problem was encountered when verifying that all members were %(verb)s: " -"%(exc)s" -msgstr "" - -#: ipalib/errors.py:1216 -#, python-format -msgid "no command nor help topic %(topic)r" -msgstr "" - -#: ipalib/errors.py:1240 -msgid "change collided with another change" -msgstr "" - -#: ipalib/errors.py:1256 -msgid "no modifications to be performed" -msgstr "" - -#: ipalib/errors.py:1272 -#, python-format -msgid "%(desc)s: %(info)s" -msgstr "" - -#: ipalib/errors.py:1288 -msgid "limits exceeded for this query" -msgstr "" - -#: ipalib/errors.py:1303 -#, python-format -msgid "%(info)s" -msgstr "" - -#: ipalib/errors.py:1318 -msgid "modifying primary key is not allowed" -msgstr "" - -#: ipalib/errors.py:1334 -#, python-format -msgid "%(attr)s: Only one value allowed." -msgstr "" - -#: ipalib/errors.py:1350 -#, python-format -msgid "%(attr)s: Invalid syntax." -msgstr "" - -#: ipalib/errors.py:1366 -#, python-format -msgid "Bad search filter %(info)s" -msgstr "" - -#: ipalib/errors.py:1391 -#, python-format -msgid "Certificate operation cannot be completed: %(error)s" -msgstr "" - -#: ipalib/errors.py:1407 -#, python-format -msgid "Certificate format error: %(error)s" +"address domain is not fully qualified (\"example.com\" instead of just " +"\"example\")" msgstr "" -#: ipalib/errors.py:1458 -msgid "Already registered" +#: ipalib/util.py:257 +msgid "domain name may only include letters, numbers, and -" msgstr "" -#: ipalib/errors.py:1474 -msgid "Not registered yet" +#: ipalib/util.py:270 +msgid "hostname is not fully qualified" msgstr "" -#: ipalib/frontend.py:398 -msgid "Results are truncated, try a more specific search" -msgstr "" - -#: ipalib/frontend.py:850 +#: ipalib/util.py:273 msgid "" -"Retrieve and print all attributes from the server. Affects command output." -msgstr "" - -#: ipalib/frontend.py:856 -msgid "Print entries as stored on the server. Only affects output format." -msgstr "" - -#: ipalib/frontend.py:985 -msgid "Forward to server instead of running locally" +"hostname parts may only include letters, numbers, and - (which is not " +"allowed as the last character)" msgstr "" -#: ipalib/output.py:92 -msgid "A dictionary representing an LDAP entry" -msgstr "" - -#: ipalib/output.py:100 -msgid "A list of LDAP entries" -msgstr "" - -#: ipalib/output.py:111 -msgid "All commands should at least have a result" -msgstr "" - -#: ipalib/parameters.py:296 -msgid "incorrect type" -msgstr "" - -#: ipalib/parameters.py:299 -msgid "Only one value is allowed" -msgstr "" - -#: ipalib/parameters.py:901 -msgid "must be True or False" -msgstr "" - -#: ipalib/parameters.py:1002 -msgid "must be an integer" -msgstr "" - -#: ipalib/parameters.py:1054 -#, python-format -msgid "must be at least %(minvalue)d" -msgstr "" - -#: ipalib/parameters.py:1064 -#, python-format -msgid "can be at most %(maxvalue)d" -msgstr "" - -#: ipalib/parameters.py:1074 -msgid "must be a decimal number" -msgstr "" - -#: ipalib/parameters.py:1097 -#, python-format -msgid "must be at least %(minvalue)f" -msgstr "" - -#: ipalib/parameters.py:1107 -#, python-format -msgid "can be at most %(maxvalue)f" -msgstr "" - -#: ipalib/parameters.py:1174 -#, python-format -msgid "must match pattern \"%(pattern)s\"" -msgstr "" - -#: ipalib/parameters.py:1192 -msgid "must be binary data" -msgstr "" - -#: ipalib/parameters.py:1208 -#, python-format -msgid "must be at least %(minlength)d bytes" -msgstr "" - -#: ipalib/parameters.py:1218 -#, python-format -msgid "can be at most %(maxlength)d bytes" -msgstr "" - -#: ipalib/parameters.py:1228 -#, python-format -msgid "must be exactly %(length)d bytes" -msgstr "" - -#: ipalib/parameters.py:1246 -msgid "must be Unicode text" -msgstr "" - -#: ipalib/parameters.py:1277 -#, python-format -msgid "must be at least %(minlength)d characters" -msgstr "" - -#: ipalib/parameters.py:1287 -#, python-format -msgid "can be at most %(maxlength)d characters" -msgstr "" - -#: ipalib/parameters.py:1297 -#, python-format -msgid "must be exactly %(length)d characters" -msgstr "" - -#: ipalib/parameters.py:1315 -#, python-format -msgid "The character '%(char)r' is not allowed." -msgstr "" - -#: ipalib/parameters.py:1355 -#, python-format -msgid "must be one of %(values)r" -msgstr "" - -#: ipalib/util.py:200 -#, python-format -msgid "Permission denied: %(file)s" -msgstr "" - -#: ipalib/x509.py:174 +#: ipalib/x509.py:213 #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" msgstr "" -#: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398 -#: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541 -#: ipaserver/plugins/dogtag.py:1600 +#: 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 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" @@ -7157,6 +7286,11 @@ msgstr "" msgid "Operating System and version of the host (e.g. Fedora 9)" msgstr "" +#: ipaserver/plugins/ldap2.py:401 +#, python-format +msgid "objectclass %s not found" +msgstr "" + #: ipaserver/plugins/selfsign.py:99 #, python-format msgid "" @@ -7181,283 +7315,297 @@ 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:821 -#: 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:834 +#: 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-join.c:417 ipa-client/ipa-join.c:426 -#: ipa-client/ipa-join.c:563 ipa-client/ipa-join.c:751 -#: ipa-client/ipa-join.c:819 +#: ipa-client/ipa-getkeytab.c:337 ipa-client/ipa-getkeytab.c:370 +#: ipa-client/ipa-join.c:357 ipa-client/ipa-join.c:432 +#: ipa-client/ipa-join.c:450 ipa-client/ipa-join.c:550 +#: ipa-client/ipa-join.c:738 ipa-client/ipa-join.c:806 #, c-format 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-getkeytab.c:593 ipa-client/ipa-join.c:219 +#, c-format +msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:600 #, c-format msgid "Unable to set ldap options!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:596 +#: ipa-client/ipa-getkeytab.c:613 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:606 +#: ipa-client/ipa-getkeytab.c:623 #, c-format msgid "SASL Bind failed!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-getkeytab.c:635 -#: ipa-client/ipa-getkeytab.c:642 ipa-client/ipa-getkeytab.c:649 +#: 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:655 ipa-client/ipa-getkeytab.c:665 +#: 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:672 +#: ipa-client/ipa-getkeytab.c:689 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:691 ipa-client/ipa-getkeytab.c:698 +#: 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:736 +#: ipa-client/ipa-getkeytab.c:753 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:742 +#: ipa-client/ipa-getkeytab.c:759 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:776 +#: ipa-client/ipa-getkeytab.c:793 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:776 +#: ipa-client/ipa-getkeytab.c:793 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:778 +#: ipa-client/ipa-getkeytab.c:795 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:779 +#: ipa-client/ipa-getkeytab.c:796 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:781 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:782 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:784 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:785 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:787 +#: ipa-client/ipa-getkeytab.c:804 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:788 +#: ipa-client/ipa-getkeytab.c:805 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:790 +#: ipa-client/ipa-getkeytab.c:807 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:791 +#: ipa-client/ipa-getkeytab.c:808 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:793 +#: ipa-client/ipa-getkeytab.c:810 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:795 +#: ipa-client/ipa-getkeytab.c:812 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:795 +#: ipa-client/ipa-getkeytab.c:812 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:797 +#: ipa-client/ipa-getkeytab.c:814 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:797 +#: ipa-client/ipa-getkeytab.c:814 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:837 +#: 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:841 +#: ipa-client/ipa-getkeytab.c:858 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:860 +#: ipa-client/ipa-getkeytab.c:877 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:873 +#: 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:885 +#: ipa-client/ipa-getkeytab.c:902 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:893 +#: 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:901 +#: 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:909 +#: ipa-client/ipa-getkeytab.c:926 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:916 +#: ipa-client/ipa-getkeytab.c:933 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:935 +#: ipa-client/ipa-getkeytab.c:952 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:944 +#: ipa-client/ipa-getkeytab.c:961 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:950 +#: ipa-client/ipa-getkeytab.c:967 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" @@ -7477,248 +7625,236 @@ msgstr "" msgid "access() on %s failed: errno = %d\n" msgstr "" -#: ipa-client/ipa-join.c:143 ipa-client/ipa-join.c:197 +#: ipa-client/ipa-join.c:143 ipa-client/ipa-join.c:199 #, c-format msgid "Out of memory!" msgstr "" -#: ipa-client/ipa-join.c:204 +#: ipa-client/ipa-join.c:206 #, c-format msgid "Unable to initialize connection to ldap server: %s" msgstr "" -#: ipa-client/ipa-join.c:210 +#: ipa-client/ipa-join.c:212 #, c-format msgid "Unable to enable SSL in LDAP\n" msgstr "" -#: ipa-client/ipa-join.c:216 +#: ipa-client/ipa-join.c:225 #, c-format msgid "Unable to set LDAP version\n" msgstr "" -#: ipa-client/ipa-join.c:236 +#: ipa-client/ipa-join.c:245 #, c-format msgid "Bind failed: %s\n" msgstr "" -#: ipa-client/ipa-join.c:269 +#: ipa-client/ipa-join.c:280 #, c-format msgid "Search for %s on rootdse failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:279 ipa-client/ipa-join.c:331 +#: ipa-client/ipa-join.c:292 ipa-client/ipa-join.c:377 #, c-format msgid "No values for %s" msgstr "" -#: ipa-client/ipa-join.c:322 -#, c-format -msgid "Search for ipaCertificateSubjectBase failed with error %d" -msgstr "" - -#: ipa-client/ipa-join.c:390 +#: ipa-client/ipa-join.c:316 #, c-format -msgid "Unable to determine root DN of %s\n" +msgid "Search for IPA namingContext failed with error %d\n" msgstr "" -#: ipa-client/ipa-join.c:399 +#: ipa-client/ipa-join.c:322 #, c-format -msgid "Unable to determine certificate subject of %s\n" +msgid "IPA namingContext not found\n" msgstr "" -#: ipa-client/ipa-join.c:407 +#: ipa-client/ipa-join.c:368 #, c-format -msgid "Unable to make an LDAP connection to %s\n" +msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:432 +#: ipa-client/ipa-join.c:439 #, c-format -msgid "Searching with %s in %s\n" +msgid "Unable to determine root DN of %s\n" msgstr "" -#: ipa-client/ipa-join.c:438 +#: ipa-client/ipa-join.c:457 #, c-format -msgid "ldap_search_ext_s: %s\n" +msgid "Incorrect password.\n" msgstr "" -#: ipa-client/ipa-join.c:446 +#: ipa-client/ipa-join.c:465 #, c-format -msgid "Unable to find host '%s'\n" +msgid "Unable to determine certificate subject of %s\n" msgstr "" -#: ipa-client/ipa-join.c:453 +#: ipa-client/ipa-join.c:481 #, c-format -msgid "Unable to get binddn for host '%s'\n" +msgid "Enrollment failed. %s\n" msgstr "" -#: ipa-client/ipa-join.c:466 +#: ipa-client/ipa-join.c:605 #, c-format -msgid "Host already has principal, trying bind anyway\n" +msgid "principal not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:480 ipa-client/ipa-join.c:633 +#: ipa-client/ipa-join.c:620 #, c-format msgid "Host is already joined.\n" msgstr "" -#: ipa-client/ipa-join.c:484 -#, c-format -msgid "Incorrect password.\n" -msgstr "" - -#: ipa-client/ipa-join.c:495 -#, c-format -msgid "principal not found in host entry\n" -msgstr "" - -#: ipa-client/ipa-join.c:618 -#, c-format -msgid "principal not found in XML-RPC response\n" -msgstr "" - -#: ipa-client/ipa-join.c:699 ipa-client/ipa-join.c:900 +#: ipa-client/ipa-join.c:686 ipa-client/ipa-join.c:887 #, c-format msgid "Unable to determine IPA server from %s\n" msgstr "" -#: ipa-client/ipa-join.c:715 ipa-client/ipa-join.c:915 +#: ipa-client/ipa-join.c:702 ipa-client/ipa-join.c:902 #, c-format msgid "The hostname must be fully-qualified: %s\n" msgstr "" -#: ipa-client/ipa-join.c:724 ipa-client/ipa-join.c:925 +#: ipa-client/ipa-join.c:711 ipa-client/ipa-join.c:912 #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-join.c:732 +#: ipa-client/ipa-join.c:719 #, c-format msgid "Error resolving keytab: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:741 +#: ipa-client/ipa-join.c:728 #, c-format msgid "Error getting default Kerberos realm: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:759 +#: ipa-client/ipa-join.c:746 #, c-format msgid "Error parsing \"%s\": %s.\n" msgstr "" -#: ipa-client/ipa-join.c:777 +#: ipa-client/ipa-join.c:764 #, c-format msgid "Error obtaining initial credentials: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:788 +#: ipa-client/ipa-join.c:775 #, c-format msgid "Unable to generate Kerberos Credential Cache\n" msgstr "" -#: ipa-client/ipa-join.c:796 +#: ipa-client/ipa-join.c:783 #, c-format msgid "Error storing creds in credential cache: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:846 +#: ipa-client/ipa-join.c:833 #, c-format msgid "Unenrollment successful.\n" msgstr "" -#: ipa-client/ipa-join.c:849 +#: ipa-client/ipa-join.c:836 #, c-format msgid "Unenrollment failed.\n" msgstr "" -#: ipa-client/ipa-join.c:854 +#: ipa-client/ipa-join.c:841 #, c-format msgid "result not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:932 +#: ipa-client/ipa-join.c:919 #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" msgstr "" -#: ipa-client/ipa-join.c:940 +#: ipa-client/ipa-join.c:927 #, c-format msgid "" "Unable to join host: Kerberos User Principal not found and host password not" " provided.\n" msgstr "" -#: ipa-client/ipa-join.c:954 +#: ipa-client/ipa-join.c:941 #, c-format msgid "fork() failed\n" msgstr "" -#: ipa-client/ipa-join.c:983 +#: ipa-client/ipa-join.c:970 #, c-format msgid "ipa-getkeytab not found\n" msgstr "" -#: ipa-client/ipa-join.c:986 +#: ipa-client/ipa-join.c:973 #, c-format msgid "ipa-getkeytab has bad permissions?\n" msgstr "" -#: ipa-client/ipa-join.c:989 +#: ipa-client/ipa-join.c:976 #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" msgstr "" -#: ipa-client/ipa-join.c:1001 +#: ipa-client/ipa-join.c:988 #, c-format msgid "child exited with %d\n" msgstr "" -#: ipa-client/ipa-join.c:1007 +#: ipa-client/ipa-join.c:994 #, c-format msgid "Certificate subject base is: %s\n" msgstr "" -#: ipa-client/ipa-join.c:1042 +#: ipa-client/ipa-join.c:1031 msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "" -#: ipa-client/ipa-join.c:1044 +#: ipa-client/ipa-join.c:1033 msgid "Quiet mode. Only errors are displayed." msgstr "" -#: ipa-client/ipa-join.c:1046 +#: ipa-client/ipa-join.c:1035 msgid "Unenroll this host from IPA server" msgstr "" -#: ipa-client/ipa-join.c:1048 +#: ipa-client/ipa-join.c:1037 msgid "Hostname of this server" msgstr "" -#: ipa-client/ipa-join.c:1048 ipa-client/ipa-join.c:1050 +#: ipa-client/ipa-join.c:1037 ipa-client/ipa-join.c:1039 msgid "hostname" msgstr "" -#: ipa-client/ipa-join.c:1050 +#: ipa-client/ipa-join.c:1039 msgid "IPA Server to use" msgstr "" -#: ipa-client/ipa-join.c:1052 +#: ipa-client/ipa-join.c:1041 msgid "Specifies where to store keytab information." msgstr "" -#: ipa-client/ipa-join.c:1052 +#: ipa-client/ipa-join.c:1041 msgid "filename" msgstr "" -#: ipa-client/ipa-join.c:1054 +#: ipa-client/ipa-join.c:1043 msgid "LDAP password (if not using Kerberos)" msgstr "" -#: ipa-client/ipa-join.c:1054 +#: ipa-client/ipa-join.c:1043 msgid "password" msgstr "" +#: ipa-client/ipa-join.c:1045 +msgid "LDAP basedn" +msgstr "" + +#: ipa-client/ipa-join.c:1045 +msgid "basedn" +msgstr "" + #: ipa-client/ipa-rmkeytab.c:43 #, c-format msgid "Unable to parse principal name\n" @@ -7809,5 +7945,3 @@ msgstr "" #, c-format msgid "krb5_kt_close %d: %s\n" msgstr "" - - |