diff options
author | Tomas Babej <tbabej@redhat.com> | 2015-12-02 11:16:11 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2015-12-02 12:40:48 +0100 |
commit | f72f8c1ad04847e4d0f24b50c76a583bd6fe5a86 (patch) | |
tree | 5b385a3faf08ce3b7d5bb54d7c3b18e22ef56ae1 /install/po/ipa.pot | |
parent | 4a75a5f7ffd4f5060e84d04e5806b84e5605ddec (diff) | |
download | freeipa-f72f8c1ad04847e4d0f24b50c76a583bd6fe5a86.tar.gz freeipa-f72f8c1ad04847e4d0f24b50c76a583bd6fe5a86.tar.xz freeipa-f72f8c1ad04847e4d0f24b50c76a583bd6fe5a86.zip |
translations: Update ipa.pot file
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
Diffstat (limited to 'install/po/ipa.pot')
-rw-r--r-- | install/po/ipa.pot | 6495 |
1 files changed, 3592 insertions, 2903 deletions
diff --git a/install/po/ipa.pot b/install/po/ipa.pot index 336be52da..8256bb77d 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"POT-Creation-Date: 2015-12-02 11:14+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -19,58 +19,58 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ipalib/cli.py:599 +#: ipalib/cli.py:608 #, python-format msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/cli.py:607 ipa-client/ipa-getkeytab.c:587 +#: ipalib/cli.py:616 ipa-client/ipa-getkeytab.c:588 #, c-format msgid "Passwords do not match!" msgstr "" -#: ipalib/cli.py:630 +#: ipalib/cli.py:639 msgid "No matching entries found" msgstr "" -#: ipalib/cli.py:674 +#: ipalib/cli.py:683 msgid "Topic or Command" msgstr "" -#: ipalib/cli.py:675 +#: ipalib/cli.py:684 msgid "The topic or command name." msgstr "" -#: ipalib/cli.py:847 +#: ipalib/cli.py:855 msgid "Topic commands:" msgstr "" -#: ipalib/cli.py:852 +#: ipalib/cli.py:860 msgid "To get command help, use:" msgstr "" -#: ipalib/cli.py:853 +#: ipalib/cli.py:861 msgid " ipa <command> --help" msgstr "" -#: ipalib/cli.py:862 +#: ipalib/cli.py:870 msgid "Command name" msgstr "" -#: ipalib/cli.py:1030 +#: ipalib/cli.py:1038 msgid "Positional arguments" msgstr "" -#: ipalib/cli.py:1178 +#: ipalib/cli.py:1185 #, python-format msgid "Same as --%s" msgstr "" -#: ipalib/cli.py:1181 +#: ipalib/cli.py:1188 msgid "Deprecated options" msgstr "" -#: ipalib/cli.py:1303 +#: ipalib/cli.py:1310 msgid "No file to read" msgstr "" @@ -78,470 +78,470 @@ msgstr "" msgid "A string searched in all relevant object attributes" msgstr "" -#: ipalib/errors.py:270 +#: ipalib/errors.py:281 #, python-format msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" msgstr "" -#: ipalib/errors.py:288 +#: ipalib/errors.py:299 #, python-format msgid "unknown error %(code)d from %(server)s: %(error)s" msgstr "" -#: ipalib/errors.py:304 +#: ipalib/errors.py:315 msgid "an internal error has occurred" msgstr "" -#: ipalib/errors.py:326 +#: ipalib/errors.py:337 #, python-format msgid "an internal error has occurred on server at '%(server)s'" msgstr "" -#: ipalib/errors.py:342 +#: ipalib/errors.py:353 #, python-format msgid "unknown command '%(name)s'" msgstr "" -#: ipalib/errors.py:359 ipalib/errors.py:384 +#: ipalib/errors.py:370 ipalib/errors.py:395 #, python-format msgid "error on server '%(server)s': %(error)s" msgstr "" -#: ipalib/errors.py:375 +#: ipalib/errors.py:386 #, python-format msgid "cannot connect to '%(uri)s': %(error)s" msgstr "" -#: ipalib/errors.py:393 +#: ipalib/errors.py:404 #, python-format msgid "Invalid JSON-RPC request: %(error)s" msgstr "" -#: ipalib/errors.py:409 +#: ipalib/errors.py:420 #, python-format msgid "error marshalling data for XML-RPC transport: %(error)s" msgstr "" -#: ipalib/errors.py:425 +#: ipalib/errors.py:436 #, python-format msgid "Missing or invalid HTTP Referer, %(referer)s" msgstr "" -#: ipalib/errors.py:452 +#: ipalib/errors.py:463 #, python-format msgid "Kerberos error: %(major)s/%(minor)s" msgstr "" -#: ipalib/errors.py:469 +#: ipalib/errors.py:480 msgid "did not receive Kerberos credentials" msgstr "" -#: ipalib/errors.py:485 +#: ipalib/errors.py:496 #, python-format msgid "Service '%(service)s' not found in Kerberos database" msgstr "" -#: ipalib/errors.py:501 +#: ipalib/errors.py:512 msgid "No credentials cache found" msgstr "" -#: ipalib/errors.py:517 +#: ipalib/errors.py:528 msgid "Ticket expired" msgstr "" -#: ipalib/errors.py:533 +#: ipalib/errors.py:544 msgid "Credentials cache permissions incorrect" msgstr "" -#: ipalib/errors.py:549 +#: ipalib/errors.py:560 msgid "Bad format in credentials cache" msgstr "" -#: ipalib/errors.py:565 +#: ipalib/errors.py:576 msgid "Cannot resolve KDC for requested realm" msgstr "" -#: ipalib/errors.py:577 +#: ipalib/errors.py:588 msgid "Session error" msgstr "" -#: ipalib/errors.py:585 +#: ipalib/errors.py:596 #, python-format msgid "Principal %(principal)s cannot be authenticated: %(message)s" msgstr "" -#: ipalib/errors.py:609 +#: ipalib/errors.py:620 #, python-format msgid "Insufficient access: %(info)s" msgstr "" -#: ipalib/errors.py:653 +#: ipalib/errors.py:664 #, python-format msgid "command '%(name)s' takes no arguments" msgstr "" -#: ipalib/errors.py:673 +#: ipalib/errors.py:684 #, python-format msgid "command '%(name)s' takes at most %(count)d argument" msgid_plural "command '%(name)s' takes at most %(count)d arguments" msgstr[0] "" msgstr[1] "" -#: ipalib/errors.py:703 +#: ipalib/errors.py:714 #, python-format msgid "overlapping arguments and options: %(names)s" msgstr "" -#: ipalib/errors.py:719 +#: ipalib/errors.py:730 #, python-format msgid "'%(name)s' is required" msgstr "" -#: ipalib/errors.py:735 ipalib/errors.py:751 +#: ipalib/errors.py:746 ipalib/errors.py:762 #, python-format msgid "invalid '%(name)s': %(error)s" msgstr "" -#: ipalib/errors.py:767 +#: ipalib/errors.py:778 #, python-format msgid "api has no such namespace: '%(name)s'" msgstr "" -#: ipalib/errors.py:776 +#: ipalib/errors.py:787 msgid "Passwords do not match" msgstr "" -#: ipalib/errors.py:785 +#: ipalib/errors.py:796 msgid "Command not implemented" msgstr "" -#: ipalib/errors.py:794 +#: ipalib/errors.py:805 msgid "Client is not configured. Run ipa-client-install." msgstr "" -#: ipalib/errors.py:803 +#: ipalib/errors.py:814 #, python-format msgid "Could not get %(name)s interactively" msgstr "" -#: ipalib/errors.py:818 +#: ipalib/errors.py:829 #, python-format msgid "Command '%(name)s' has been deprecated" msgstr "" -#: ipalib/errors.py:834 +#: ipalib/errors.py:845 #, python-format msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" msgstr "" -#: ipalib/errors.py:862 ipalib/errors.py:1102 ipalib/errors.py:1196 -#: ipalib/errors.py:1658 ipalib/errors.py:1675 +#: ipalib/errors.py:873 ipalib/errors.py:1113 ipalib/errors.py:1207 +#: ipalib/errors.py:1373 ipalib/errors.py:1670 ipalib/errors.py:1687 #, python-format msgid "%(reason)s" msgstr "" -#: ipalib/errors.py:878 +#: ipalib/errors.py:889 msgid "This entry already exists" msgstr "" -#: ipalib/errors.py:894 +#: ipalib/errors.py:905 msgid "You must enroll a host in order to create a host service" msgstr "" -#: ipalib/errors.py:910 +#: ipalib/errors.py:921 #, python-format msgid "" "Service principal is not of the form: service/fully-qualified host name: " "%(reason)s" msgstr "" -#: ipalib/errors.py:926 +#: ipalib/errors.py:937 msgid "" "The realm for the principal does not match the realm for this IPA server" msgstr "" -#: ipalib/errors.py:942 +#: ipalib/errors.py:953 msgid "This command requires root access" msgstr "" -#: ipalib/errors.py:958 +#: ipalib/errors.py:969 msgid "This is already a posix group" msgstr "" -#: ipalib/errors.py:974 +#: ipalib/errors.py:985 #, python-format msgid "Principal is not of the form user@REALM: '%(principal)s'" msgstr "" -#: ipalib/errors.py:990 +#: ipalib/errors.py:1001 msgid "This entry is already enabled" msgstr "" -#: ipalib/errors.py:1006 +#: ipalib/errors.py:1017 msgid "This entry is already disabled" msgstr "" -#: ipalib/errors.py:1022 +#: ipalib/errors.py:1033 msgid "This entry cannot be enabled or disabled" msgstr "" -#: ipalib/errors.py:1038 +#: ipalib/errors.py:1049 msgid "This entry is not a member" msgstr "" -#: ipalib/errors.py:1054 +#: ipalib/errors.py:1065 msgid "A group may not be a member of itself" msgstr "" -#: ipalib/errors.py:1070 +#: ipalib/errors.py:1081 msgid "This entry is already a member" msgstr "" -#: ipalib/errors.py:1086 +#: ipalib/errors.py:1097 #, python-format msgid "Base64 decoding failed: %(reason)s" msgstr "" -#: ipalib/errors.py:1118 +#: ipalib/errors.py:1129 msgid "A group may not be added as a member of itself" msgstr "" -#: ipalib/errors.py:1134 +#: ipalib/errors.py:1145 msgid "The default users group cannot be removed" msgstr "" -#: ipalib/errors.py:1150 +#: ipalib/errors.py:1161 msgid "Host does not have corresponding DNS A/AAAA record" msgstr "" -#: ipalib/errors.py:1165 +#: ipalib/errors.py:1176 msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" -#: ipalib/errors.py:1180 +#: ipalib/errors.py:1191 msgid "A managed group cannot have a password policy." msgstr "" -#: ipalib/errors.py:1212 +#: ipalib/errors.py:1223 #, python-format msgid "'%(entry)s' doesn't have a certificate." msgstr "" -#: ipalib/errors.py:1228 +#: ipalib/errors.py:1239 #, python-format msgid "Unable to create private group. A group '%(group)s' already exists." msgstr "" -#: ipalib/errors.py:1244 +#: ipalib/errors.py:1255 #, python-format msgid "" "A problem was encountered when verifying that all members were %(verb)s: " "%(exc)s" msgstr "" -#: ipalib/errors.py:1262 +#: ipalib/errors.py:1273 #, python-format msgid "%(attr)s does not contain '%(value)s'" msgstr "" -#: ipalib/errors.py:1279 +#: ipalib/errors.py:1290 #, python-format msgid "" "The search criteria was not specific enough. Expected 1 and found %(found)d." msgstr "" -#: ipalib/errors.py:1296 +#: ipalib/errors.py:1307 msgid "This group already allows external members" msgstr "" -#: ipalib/errors.py:1313 +#: ipalib/errors.py:1324 msgid "This group cannot be posix because it is external" msgstr "" -#: ipalib/errors.py:1330 +#: ipalib/errors.py:1341 msgid "This is already a posix group and cannot be converted to external one" msgstr "" -#: ipalib/errors.py:1384 +#: ipalib/errors.py:1396 #, python-format msgid "no command nor help topic '%(topic)s'" msgstr "" -#: ipalib/errors.py:1408 +#: ipalib/errors.py:1420 msgid "change collided with another change" msgstr "" -#: ipalib/errors.py:1424 +#: ipalib/errors.py:1436 msgid "no modifications to be performed" msgstr "" -#: ipalib/errors.py:1440 +#: ipalib/errors.py:1452 #, python-format msgid "%(desc)s: %(info)s" msgstr "" -#: ipalib/errors.py:1456 +#: ipalib/errors.py:1468 msgid "limits exceeded for this query" msgstr "" -#: ipalib/errors.py:1471 +#: ipalib/errors.py:1483 #, python-format msgid "%(info)s" msgstr "" -#: ipalib/errors.py:1486 +#: ipalib/errors.py:1498 msgid "modifying primary key is not allowed" msgstr "" -#: ipalib/errors.py:1502 +#: ipalib/errors.py:1514 #, python-format msgid "%(attr)s: Only one value allowed." msgstr "" -#: ipalib/errors.py:1518 +#: ipalib/errors.py:1530 #, python-format msgid "%(attr)s: Invalid syntax." msgstr "" -#: ipalib/errors.py:1534 +#: ipalib/errors.py:1546 #, python-format msgid "Bad search filter %(info)s" msgstr "" -#: ipalib/errors.py:1550 +#: ipalib/errors.py:1562 msgid "Not allowed on non-leaf entry" msgstr "" -#: ipalib/errors.py:1566 +#: ipalib/errors.py:1578 msgid "LDAP timeout" msgstr "" -#: ipalib/errors.py:1584 +#: ipalib/errors.py:1596 #, python-format msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" msgstr "" -#: ipalib/errors.py:1600 +#: ipalib/errors.py:1612 #, python-format msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" msgstr "" -#: ipalib/errors.py:1625 +#: ipalib/errors.py:1637 #, python-format msgid "Certificate operation cannot be completed: %(error)s" msgstr "" -#: ipalib/errors.py:1641 +#: ipalib/errors.py:1653 #, python-format msgid "Certificate format error: %(error)s" msgstr "" -#: ipalib/errors.py:1692 +#: ipalib/errors.py:1704 msgid "Already registered" msgstr "" -#: ipalib/errors.py:1708 +#: ipalib/errors.py:1720 msgid "Not registered yet" msgstr "" -#: ipalib/errors.py:1724 +#: ipalib/errors.py:1736 #, python-format msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" msgstr "" -#: ipalib/errors.py:1740 +#: ipalib/errors.py:1752 #, python-format msgid "" "%(key)s cannot be deleted or disabled because it is the last member of " "%(label)s %(container)s" msgstr "" -#: ipalib/errors.py:1756 +#: ipalib/errors.py:1768 #, python-format msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" msgstr "" -#: ipalib/errors.py:1773 +#: ipalib/errors.py:1785 #, python-format msgid "%(name)s certificate is not valid" msgstr "" -#: ipalib/frontend.py:416 +#: ipalib/frontend.py:418 msgid "Results are truncated, try a more specific search" msgstr "" -#: ipalib/frontend.py:541 +#: ipalib/frontend.py:545 #, python-format msgid "Unknown option: %(option)s" msgstr "" -#: ipalib/frontend.py:904 +#: ipalib/frontend.py:908 msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/frontend.py:910 +#: ipalib/frontend.py:914 msgid "Print entries as stored on the server. Only affects output format." msgstr "" -#: ipalib/frontend.py:916 ipalib/plugins/batch.py:73 +#: ipalib/frontend.py:920 ipalib/plugins/batch.py:78 msgid "Client version. Used to determine if server will accept request." msgstr "" -#: ipalib/frontend.py:1093 +#: ipalib/frontend.py:1082 msgid "Forward to server instead of running locally" msgstr "" -#: ipalib/messages.py:73 +#: ipalib/messages.py:78 msgid "Additional instructions:" msgstr "" -#: ipalib/messages.py:134 +#: ipalib/messages.py:144 #, python-format msgid "" "API Version number was not sent, forward compatibility not guaranteed. " "Assuming server's API version, %(server_version)s" msgstr "" -#: ipalib/messages.py:146 +#: ipalib/messages.py:156 msgid "" "DNS forwarder semantics changed since IPA 4.0.\n" "You may want to use forward zones (dnsforwardzone-*) instead.\n" "For more details read the docs." msgstr "" -#: ipalib/messages.py:158 +#: ipalib/messages.py:168 #, python-format msgid "" "DNSSEC support is experimental.\n" "%(additional_info)s" msgstr "" -#: ipalib/messages.py:168 +#: ipalib/messages.py:178 #, python-format msgid "'%(option)s' option is deprecated. %(additional_info)s" msgstr "" -#: ipalib/messages.py:178 +#: ipalib/messages.py:188 #, python-format msgid "" "Semantic of %(label)s was changed. %(current_behavior)s\n" "%(hint)s" msgstr "" -#: ipalib/messages.py:189 +#: ipalib/messages.py:199 #, python-format msgid "DNS server %(server)s: %(error)s." msgstr "" -#: ipalib/messages.py:199 +#: ipalib/messages.py:209 #, python-format msgid "" "DNS server %(server)s does not support DNSSEC: %(error)s.\n" "If DNSSEC validation is enabled on IPA server(s), please disable it." msgstr "" -#: ipalib/messages.py:212 +#: ipalib/messages.py:222 #, python-format msgid "" "forward zone \"%(fwzone)s\" is not effective because of missing proper NS " @@ -549,14 +549,14 @@ msgid "" "\"%(ns_rec)s\" to parent zone \"%(authzone)s\"." msgstr "" -#: ipalib/messages.py:226 +#: ipalib/messages.py:236 #, python-format msgid "" "DNS server %(server)s does not support EDNS0 (RFC 6891): %(error)s.\n" "If DNSSEC validation is enabled on IPA server(s), please disable it." msgstr "" -#: ipalib/messages.py:239 +#: ipalib/messages.py:249 #, python-format msgid "" "DNSSEC validation failed: %(error)s.\n" @@ -564,388 +564,426 @@ msgid "" "IPA servers." msgstr "" -#: ipalib/output.py:93 +#: ipalib/messages.py:263 +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be created " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please create the record " +"manually, containing the following value: '%(realm)s'" +msgstr "" + +#: ipalib/messages.py:279 +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be removed " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please remove the record " +"manually." +msgstr "" + +#: ipalib/messages.py:293 +msgid "" +"No DNSSEC key master is installed. DNSSEC zone signing will not work until " +"the DNSSEC key master is installed." +msgstr "" + +#: ipalib/messages.py:308 +#, python-format +msgid "" +"Relative record name '%(record)s' contains the zone name '%(zone)s' as a " +"suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused " +"by a missing dot at the end of the name specification." +msgstr "" + +#: ipalib/messages.py:321 +#, python-format +msgid "'%(command)s' is deprecated. %(additional_info)s" +msgstr "" + +#: ipalib/output.py:97 msgid "A dictionary representing an LDAP entry" msgstr "" -#: ipalib/output.py:101 +#: ipalib/output.py:105 msgid "A list of LDAP entries" msgstr "" -#: ipalib/output.py:153 +#: ipalib/output.py:157 msgid "All commands should at least have a result" msgstr "" -#: ipalib/output.py:156 +#: ipalib/output.py:160 msgid "User-friendly description of action performed" msgstr "" -#: ipalib/output.py:160 +#: ipalib/output.py:164 msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" msgstr "" -#: ipalib/output.py:175 +#: ipalib/output.py:179 msgid "Number of entries returned" msgstr "" -#: ipalib/output.py:176 +#: ipalib/output.py:180 msgid "True if not all results were returned" msgstr "" -#: ipalib/output.py:181 ipalib/output.py:187 +#: ipalib/output.py:185 ipalib/output.py:191 msgid "List of deletions that failed" msgstr "" -#: ipalib/output.py:193 ipalib/plugins/dns.py:313 +#: ipalib/output.py:197 ipalib/plugins/dns.py:318 msgid "True means the operation was successful" msgstr "" -#: ipalib/parameters.py:382 +#: ipalib/parameters.py:390 msgid "incorrect type" msgstr "" -#: ipalib/parameters.py:385 +#: ipalib/parameters.py:393 msgid "Only one value is allowed" msgstr "" -#: ipalib/parameters.py:953 +#: ipalib/parameters.py:955 msgid "must be True or False" msgstr "" -#: ipalib/parameters.py:1055 +#: ipalib/parameters.py:1057 msgid "must be an integer" msgstr "" -#: ipalib/parameters.py:1103 +#: ipalib/parameters.py:1108 #, python-format msgid "must be at least %(minvalue)d" msgstr "" -#: ipalib/parameters.py:1113 +#: ipalib/parameters.py:1118 #, python-format msgid "can be at most %(maxvalue)d" msgstr "" -#: ipalib/parameters.py:1129 +#: ipalib/parameters.py:1134 msgid "must be a decimal number" msgstr "" -#: ipalib/parameters.py:1175 +#: ipalib/parameters.py:1180 #, python-format msgid "must be at least %(minvalue)s" msgstr "" -#: ipalib/parameters.py:1185 +#: ipalib/parameters.py:1190 #, python-format msgid "can be at most %(maxvalue)s" msgstr "" -#: ipalib/parameters.py:1193 +#: ipalib/parameters.py:1198 #, python-format msgid "" "number class '%(cls)s' is not included in a list of allowed number classes: " "%(allowed)s" msgstr "" -#: ipalib/parameters.py:1317 +#: ipalib/parameters.py:1321 #, python-format msgid "must match pattern \"%(pattern)s\"" msgstr "" -#: ipalib/parameters.py:1335 +#: ipalib/parameters.py:1339 msgid "must be binary data" msgstr "" -#: ipalib/parameters.py:1351 +#: ipalib/parameters.py:1358 #, python-format msgid "must be at least %(minlength)d bytes" msgstr "" -#: ipalib/parameters.py:1361 +#: ipalib/parameters.py:1368 #, python-format msgid "can be at most %(maxlength)d bytes" msgstr "" -#: ipalib/parameters.py:1371 +#: ipalib/parameters.py:1378 #, python-format msgid "must be exactly %(length)d bytes" msgstr "" -#: ipalib/parameters.py:1401 +#: ipalib/parameters.py:1409 msgid "must be Unicode text" msgstr "" -#: ipalib/parameters.py:1434 +#: ipalib/parameters.py:1442 msgid "Leading and trailing spaces are not allowed" msgstr "" -#: ipalib/parameters.py:1442 +#: ipalib/parameters.py:1450 #, python-format msgid "must be at least %(minlength)d characters" msgstr "" -#: ipalib/parameters.py:1452 +#: ipalib/parameters.py:1460 #, python-format msgid "can be at most %(maxlength)d characters" msgstr "" -#: ipalib/parameters.py:1462 +#: ipalib/parameters.py:1470 #, python-format msgid "must be exactly %(length)d characters" msgstr "" -#: ipalib/parameters.py:1483 +#: ipalib/parameters.py:1491 #, python-format msgid "The character %(char)r is not allowed." msgstr "" -#: ipalib/parameters.py:1534 +#: ipalib/parameters.py:1542 #, python-format msgid "must be '%(value)s'" msgstr "" -#: ipalib/parameters.py:1537 +#: ipalib/parameters.py:1545 #, python-format msgid "must be one of %(values)s" msgstr "" -#: ipalib/parameters.py:1647 +#: ipalib/parameters.py:1655 msgid "must be datetime value" msgstr "" -#: ipalib/parameters.py:1661 +#: ipalib/parameters.py:1669 msgid "does not match any of accepted formats: " msgstr "" -#: ipalib/parameters.py:1846 +#: ipalib/parameters.py:1854 msgid "incomplete time value" msgstr "" -#: ipalib/parameters.py:1883 +#: ipalib/parameters.py:1891 msgid "this option is deprecated" msgstr "" -#: ipalib/parameters.py:1936 +#: ipalib/parameters.py:1944 msgid "must be DNS name" msgstr "" -#: ipalib/parameters.py:1966 +#: ipalib/parameters.py:1974 msgid "must be absolute" msgstr "" -#: ipalib/parameters.py:1970 +#: ipalib/parameters.py:1978 msgid "must be relative" msgstr "" -#: ipalib/plugins/aci.py:157 +#: ipalib/plugins/aci.py:162 msgid "A list of ACI values" msgstr "" -#: ipalib/plugins/aci.py:221 +#: ipalib/plugins/aci.py:226 msgid "type, filter, subtree and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:224 +#: ipalib/plugins/aci.py:229 msgid "ACI prefix is required" msgstr "" -#: ipalib/plugins/aci.py:227 +#: ipalib/plugins/aci.py:232 msgid "" "at least one of: type, filter, subtree, targetgroup, attrs or memberof are " "required" msgstr "" -#: ipalib/plugins/aci.py:230 +#: ipalib/plugins/aci.py:235 msgid "filter and memberof are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:236 +#: ipalib/plugins/aci.py:241 msgid "group, permission and self are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:238 +#: ipalib/plugins/aci.py:243 msgid "One of group, permission or self is required" msgstr "" -#: ipalib/plugins/aci.py:261 +#: ipalib/plugins/aci.py:266 #, python-format msgid "Group '%s' does not exist" msgstr "" -#: ipalib/plugins/aci.py:287 +#: ipalib/plugins/aci.py:292 msgid "empty filter" msgstr "" -#: ipalib/plugins/aci.py:308 +#: ipalib/plugins/aci.py:313 #, python-format msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/plugins/aci.py:354 +#: ipalib/plugins/aci.py:357 #, python-format msgid "invalid DN (%s)" msgstr "" -#: ipalib/plugins/aci.py:401 +#: ipalib/plugins/aci.py:404 #, python-format msgid "ACI with name \"%s\" not found" msgstr "" -#: ipalib/plugins/aci.py:419 +#: ipalib/plugins/aci.py:422 msgid "ACI prefix" msgstr "" -#: ipalib/plugins/aci.py:420 +#: ipalib/plugins/aci.py:423 msgid "" "Prefix used to distinguish ACI types (permission, delegation, selfservice, " "none)" msgstr "" -#: ipalib/plugins/aci.py:433 +#: ipalib/plugins/aci.py:436 msgid "ACIs" msgstr "" -#: ipalib/plugins/aci.py:438 +#: ipalib/plugins/aci.py:441 msgid "ACI name" msgstr "" -#: ipalib/plugins/aci.py:444 ipalib/plugins/permission.py:219 +#: ipalib/plugins/aci.py:447 ipalib/plugins/permission.py:225 msgid "Permission" msgstr "" -#: ipalib/plugins/aci.py:445 +#: ipalib/plugins/aci.py:448 msgid "Permission ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:450 ipalib/plugins/delegation.py:105 +#: ipalib/plugins/aci.py:453 ipalib/plugins/delegation.py:105 msgid "User group" msgstr "" -#: ipalib/plugins/aci.py:451 ipalib/plugins/delegation.py:106 +#: ipalib/plugins/aci.py:454 ipalib/plugins/delegation.py:106 msgid "User group ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:456 ipalib/plugins/baseldap.py:67 -#: ipalib/plugins/delegation.py:87 ipalib/plugins/permission.py:218 +#: ipalib/plugins/aci.py:459 ipalib/plugins/baseldap.py:72 +#: ipalib/plugins/delegation.py:87 ipalib/plugins/permission.py:224 #: ipalib/plugins/selfservice.py:91 msgid "Permissions" msgstr "" -#: ipalib/plugins/aci.py:457 +#: ipalib/plugins/aci.py:460 msgid "Permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/aci.py:465 +#: ipalib/plugins/aci.py:468 msgid "Attributes to which the permission applies" msgstr "" -#: ipalib/plugins/aci.py:466 ipalib/plugins/delegation.py:93 +#: ipalib/plugins/aci.py:469 ipalib/plugins/delegation.py:93 #: ipalib/plugins/selfservice.py:97 msgid "Attributes" msgstr "" -#: ipalib/plugins/aci.py:472 ipalib/plugins/otptoken.py:160 -#: ipalib/plugins/permission.py:333 +#: ipalib/plugins/aci.py:475 ipalib/plugins/otptoken.py:164 +#: ipalib/plugins/permission.py:339 ipalib/plugins/vault.py:634 +#: ipalib/plugins/vault.py:907 msgid "Type" msgstr "" -#: ipalib/plugins/aci.py:473 +#: ipalib/plugins/aci.py:476 msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/plugins/aci.py:479 +#: ipalib/plugins/aci.py:482 msgid "Member of" msgstr "" -#: ipalib/plugins/aci.py:480 +#: ipalib/plugins/aci.py:483 msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:485 ipalib/plugins/internal.py:216 -#: ipalib/plugins/internal.py:591 +#: ipalib/plugins/aci.py:488 ipalib/plugins/internal.py:217 +#: ipalib/plugins/internal.py:610 msgid "Filter" msgstr "" -#: ipalib/plugins/aci.py:486 +#: ipalib/plugins/aci.py:489 msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/aci.py:491 ipalib/plugins/permission.py:278 +#: ipalib/plugins/aci.py:494 ipalib/plugins/permission.py:284 msgid "Subtree" msgstr "" -#: ipalib/plugins/aci.py:492 +#: ipalib/plugins/aci.py:495 msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:497 ipalib/plugins/permission.py:327 +#: ipalib/plugins/aci.py:500 ipalib/plugins/permission.py:333 msgid "Target group" msgstr "" -#: ipalib/plugins/aci.py:498 +#: ipalib/plugins/aci.py:501 msgid "Group to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:503 +#: ipalib/plugins/aci.py:506 msgid "Target your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:504 +#: ipalib/plugins/aci.py:507 msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:516 +#: ipalib/plugins/aci.py:519 #, python-format msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:521 +#: ipalib/plugins/aci.py:524 msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/plugins/aci.py:571 +#: ipalib/plugins/aci.py:574 #, python-format msgid "Deleted ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:613 ipalib/plugins/aci.py:888 -#: ipalib/plugins/aci.py:934 ipalib/plugins/delegation.py:62 -#: ipalib/plugins/permission.py:112 ipalib/plugins/selfservice.py:63 +#: ipalib/plugins/aci.py:616 ipalib/plugins/aci.py:891 +#: ipalib/plugins/aci.py:937 ipalib/plugins/delegation.py:62 +#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:63 msgid "ACI" msgstr "" -#: ipalib/plugins/aci.py:621 +#: ipalib/plugins/aci.py:624 #, python-format msgid "Modified ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:695 +#: ipalib/plugins/aci.py:698 #, python-format msgid "%(count)d ACI matched" msgid_plural "%(count)d ACIs matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/aci.py:895 +#: ipalib/plugins/aci.py:898 msgid "Location of the ACI" msgstr "" -#: ipalib/plugins/aci.py:941 +#: ipalib/plugins/aci.py:944 msgid "New ACI name" msgstr "" -#: ipalib/plugins/aci.py:945 +#: ipalib/plugins/aci.py:948 #, python-format msgid "Renamed ACI to \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:30 +#: ipalib/plugins/automember.py:34 msgid "" "\n" "Auto Membership Rule.\n" msgstr "" -#: ipalib/plugins/automember.py:32 +#: ipalib/plugins/automember.py:36 msgid "" "\n" "Bring clarity to the membership of hosts and users by configuring inclusive\n" @@ -954,14 +992,14 @@ msgid "" "a group or hostgroup based upon attribute information.\n" msgstr "" -#: ipalib/plugins/automember.py:36 +#: ipalib/plugins/automember.py:40 msgid "" "\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" msgstr "" -#: ipalib/plugins/automember.py:39 +#: ipalib/plugins/automember.py:43 msgid "" "\n" "A condition is a regular expression used by 389-ds to match a new incoming\n" @@ -969,7 +1007,7 @@ msgid "" "entry is added to the appropriate group or hostgroup.\n" msgstr "" -#: ipalib/plugins/automember.py:43 +#: ipalib/plugins/automember.py:47 msgid "" "\n" "A default group or hostgroup could be specified for entries that do not\n" @@ -977,7 +1015,7 @@ msgid "" "because all users are by default members of group specified in IPA config.\n" msgstr "" -#: ipalib/plugins/automember.py:47 +#: ipalib/plugins/automember.py:51 msgid "" "\n" "The automember-rebuild command can be used to retroactively run automember " @@ -985,17 +1023,17 @@ msgid "" "against existing entries, thus rebuilding their membership.\n" msgstr "" -#: ipalib/plugins/automember.py:50 ipalib/plugins/host.py:80 -#: ipalib/plugins/otptoken.py:46 ipalib/plugins/otptoken_yubikey.py:38 -#: ipalib/plugins/permission.py:90 ipalib/plugins/radiusproxy.py:35 -#: ipalib/plugins/server.py:19 ipalib/plugins/sudorule.py:66 -#: ipalib/plugins/vault.py:52 +#: ipalib/plugins/automember.py:54 ipalib/plugins/host.py:87 +#: ipalib/plugins/otptoken.py:50 ipalib/plugins/otptoken_yubikey.py:42 +#: ipalib/plugins/permission.py:96 ipalib/plugins/radiusproxy.py:35 +#: ipalib/plugins/server.py:19 ipalib/plugins/sudorule.py:70 +#: ipalib/plugins/vault.py:95 msgid "" "\n" "EXAMPLES:\n" msgstr "" -#: ipalib/plugins/automember.py:52 +#: ipalib/plugins/automember.py:56 msgid "" "\n" " Add the initial group or hostgroup:\n" @@ -1003,7 +1041,7 @@ msgid "" " ipa group-add --desc=\"Developers\" devel\n" msgstr "" -#: ipalib/plugins/automember.py:56 +#: ipalib/plugins/automember.py:60 msgid "" "\n" " Add the initial rule:\n" @@ -1011,7 +1049,7 @@ msgid "" " ipa automember-add --type=group devel\n" msgstr "" -#: ipalib/plugins/automember.py:60 +#: ipalib/plugins/automember.py:64 msgid "" "\n" " Add a condition to the rule:\n" @@ -1021,7 +1059,7 @@ msgid "" "regex=^uid=mscott devel\n" msgstr "" -#: ipalib/plugins/automember.py:64 +#: ipalib/plugins/automember.py:68 msgid "" "\n" " Add an exclusive condition to the rule to prevent auto assignment:\n" @@ -1029,21 +1067,21 @@ msgid "" "regex=^web5\\.example\\.com webservers\n" msgstr "" -#: ipalib/plugins/automember.py:67 +#: ipalib/plugins/automember.py:71 msgid "" "\n" " Add a host:\n" " ipa host-add web1.example.com\n" msgstr "" -#: ipalib/plugins/automember.py:70 +#: ipalib/plugins/automember.py:74 msgid "" "\n" " Add a user:\n" " ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" msgstr "" -#: ipalib/plugins/automember.py:73 +#: ipalib/plugins/automember.py:77 msgid "" "\n" " Verify automembership:\n" @@ -1059,7 +1097,7 @@ msgid "" " Member users: tuser\n" msgstr "" -#: ipalib/plugins/automember.py:85 +#: ipalib/plugins/automember.py:89 msgid "" "\n" " Remove a condition from the rule:\n" @@ -1067,14 +1105,14 @@ msgid "" "regex=^web[1-9]+\\.example\\.com webservers\n" msgstr "" -#: ipalib/plugins/automember.py:88 +#: ipalib/plugins/automember.py:92 msgid "" "\n" " Modify the automember rule:\n" " ipa automember-mod\n" msgstr "" -#: ipalib/plugins/automember.py:91 +#: ipalib/plugins/automember.py:95 msgid "" "\n" " Set the default (fallback) target group:\n" @@ -1083,7 +1121,7 @@ msgid "" " ipa automember-default-group-set --default-group=ipausers --type=group\n" msgstr "" -#: ipalib/plugins/automember.py:95 +#: ipalib/plugins/automember.py:99 msgid "" "\n" " Remove the default (fallback) target group:\n" @@ -1091,7 +1129,7 @@ msgid "" " ipa automember-default-group-remove --type=group\n" msgstr "" -#: ipalib/plugins/automember.py:99 +#: ipalib/plugins/automember.py:103 msgid "" "\n" " Show the default (fallback) target group:\n" @@ -1099,14 +1137,14 @@ msgid "" " ipa automember-default-group-show --type=group\n" msgstr "" -#: ipalib/plugins/automember.py:103 +#: ipalib/plugins/automember.py:107 msgid "" "\n" " Find all of the automember rules:\n" " ipa automember-find\n" msgstr "" -#: ipalib/plugins/automember.py:106 +#: ipalib/plugins/automember.py:110 msgid "" "\n" " Display a automember rule:\n" @@ -1114,7 +1152,7 @@ msgid "" " ipa automember-show --type=group devel\n" msgstr "" -#: ipalib/plugins/automember.py:110 +#: ipalib/plugins/automember.py:114 msgid "" "\n" " Delete an automember rule:\n" @@ -1122,28 +1160,28 @@ msgid "" " ipa automember-del --type=group devel\n" msgstr "" -#: ipalib/plugins/automember.py:114 +#: ipalib/plugins/automember.py:118 msgid "" "\n" " Rebuild membership for all users:\n" " ipa automember-rebuild --type=group\n" msgstr "" -#: ipalib/plugins/automember.py:117 +#: ipalib/plugins/automember.py:121 msgid "" "\n" " Rebuild membership for all hosts:\n" " ipa automember-rebuild --type=hostgroup\n" msgstr "" -#: ipalib/plugins/automember.py:120 +#: ipalib/plugins/automember.py:124 msgid "" "\n" " Rebuild membership for specified users:\n" " ipa automember-rebuild --users=tuser1 --users=tuser2\n" msgstr "" -#: ipalib/plugins/automember.py:123 +#: ipalib/plugins/automember.py:127 msgid "" "\n" " Rebuild membership for specified hosts:\n" @@ -1151,122 +1189,122 @@ msgid "" "com\n" msgstr "" -#: ipalib/plugins/automember.py:142 ipalib/plugins/automember.py:143 +#: ipalib/plugins/automember.py:146 ipalib/plugins/automember.py:147 msgid "Inclusive Regex" msgstr "" -#: ipalib/plugins/automember.py:149 ipalib/plugins/automember.py:150 +#: ipalib/plugins/automember.py:153 ipalib/plugins/automember.py:154 msgid "Exclusive Regex" msgstr "" -#: ipalib/plugins/automember.py:155 +#: ipalib/plugins/automember.py:159 msgid "Attribute Key" msgstr "" -#: ipalib/plugins/automember.py:156 +#: ipalib/plugins/automember.py:160 msgid "" "Attribute to filter via regex. For example fqdn for a host, or manager for a " "user" msgstr "" -#: ipalib/plugins/automember.py:163 +#: ipalib/plugins/automember.py:167 msgid "Grouping Type" msgstr "" -#: ipalib/plugins/automember.py:164 +#: ipalib/plugins/automember.py:168 msgid "Grouping to which the rule applies" msgstr "" -#: ipalib/plugins/automember.py:172 ipalib/plugins/automember.py:173 +#: ipalib/plugins/automember.py:176 ipalib/plugins/automember.py:177 msgid "Automember Rule" msgstr "" -#: ipalib/plugins/automember.py:232 +#: ipalib/plugins/automember.py:236 msgid "Auto Membership Rule" msgstr "" -#: ipalib/plugins/automember.py:237 ipalib/plugins/automount.py:600 -#: ipalib/plugins/caacl.py:222 ipalib/plugins/group.py:242 +#: ipalib/plugins/automember.py:241 ipalib/plugins/automount.py:605 +#: ipalib/plugins/caacl.py:223 ipalib/plugins/group.py:249 #: ipalib/plugins/hbacrule.py:233 ipalib/plugins/hbacsvc.py:108 -#: ipalib/plugins/hbacsvcgroup.py:112 ipalib/plugins/host.py:459 -#: ipalib/plugins/hostgroup.py:156 ipalib/plugins/idviews.py:82 -#: ipalib/plugins/idviews.py:553 ipalib/plugins/netgroup.py:189 -#: ipalib/plugins/otptoken.py:169 ipalib/plugins/privilege.py:107 +#: ipalib/plugins/hbacsvcgroup.py:112 ipalib/plugins/host.py:466 +#: ipalib/plugins/hostgroup.py:162 ipalib/plugins/idviews.py:105 +#: ipalib/plugins/idviews.py:653 ipalib/plugins/netgroup.py:197 +#: ipalib/plugins/otptoken.py:173 ipalib/plugins/privilege.py:132 #: ipalib/plugins/radiusproxy.py:109 ipalib/plugins/role.py:141 #: ipalib/plugins/selinuxusermap.py:227 ipalib/plugins/sudocmd.py:119 -#: ipalib/plugins/sudocmdgroup.py:122 ipalib/plugins/sudorule.py:223 -#: ipalib/plugins/vault.py:195 +#: ipalib/plugins/sudocmdgroup.py:122 ipalib/plugins/sudorule.py:227 +#: ipalib/plugins/vault.py:628 msgid "Description" msgstr "" -#: ipalib/plugins/automember.py:238 +#: ipalib/plugins/automember.py:242 msgid "A description of this auto member rule" msgstr "" -#: ipalib/plugins/automember.py:242 ipalib/plugins/automember.py:568 +#: ipalib/plugins/automember.py:246 ipalib/plugins/automember.py:572 msgid "Default (fallback) Group" msgstr "" -#: ipalib/plugins/automember.py:243 +#: ipalib/plugins/automember.py:247 msgid "Default group for entries to land" msgstr "" -#: ipalib/plugins/automember.py:255 +#: ipalib/plugins/automember.py:259 #, python-format msgid "%(otype)s \"%(oname)s\" not found" msgstr "" -#: ipalib/plugins/automember.py:281 +#: ipalib/plugins/automember.py:285 #, python-format msgid "%s is not a valid attribute." msgstr "" -#: ipalib/plugins/automember.py:294 +#: ipalib/plugins/automember.py:298 msgid "" "\n" " Add an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:299 +#: ipalib/plugins/automember.py:303 #, python-format msgid "Added automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:306 +#: ipalib/plugins/automember.py:310 msgid "Auto Membership is not configured" msgstr "" -#: ipalib/plugins/automember.py:318 +#: ipalib/plugins/automember.py:322 msgid "" "\n" " Add conditions to an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:323 +#: ipalib/plugins/automember.py:327 msgid "Failed to add" msgstr "" -#: ipalib/plugins/automember.py:330 +#: ipalib/plugins/automember.py:334 #, python-format msgid "Added condition(s) to \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:339 +#: ipalib/plugins/automember.py:343 msgid "Conditions that could not be added" msgstr "" -#: ipalib/plugins/automember.py:343 +#: ipalib/plugins/automember.py:347 msgid "Number of conditions added" msgstr "" -#: ipalib/plugins/automember.py:353 ipalib/plugins/automember.py:438 +#: ipalib/plugins/automember.py:357 ipalib/plugins/automember.py:442 #, python-format msgid "Auto member rule: %s not found!" msgstr "" -#: ipalib/plugins/automember.py:395 +#: ipalib/plugins/automember.py:399 msgid "" "\n" " Override this so we can add completed and failed to the return " @@ -1274,198 +1312,198 @@ msgid "" " " msgstr "" -#: ipalib/plugins/automember.py:410 +#: ipalib/plugins/automember.py:414 msgid "" "\n" " Remove conditions from an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:415 +#: ipalib/plugins/automember.py:419 #, python-format msgid "Removed condition(s) from \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:424 +#: ipalib/plugins/automember.py:428 msgid "Conditions that could not be removed" msgstr "" -#: ipalib/plugins/automember.py:428 +#: ipalib/plugins/automember.py:432 msgid "Number of conditions removed" msgstr "" -#: ipalib/plugins/automember.py:482 +#: ipalib/plugins/automember.py:486 msgid "" "\n" " Override this so we can set completed and failed.\n" " " msgstr "" -#: ipalib/plugins/automember.py:497 +#: ipalib/plugins/automember.py:501 msgid "" "\n" " Modify an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:502 +#: ipalib/plugins/automember.py:506 #, python-format msgid "Modified automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:512 +#: ipalib/plugins/automember.py:516 msgid "" "\n" " Delete an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:517 +#: ipalib/plugins/automember.py:521 #, python-format msgid "Deleted automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:527 +#: ipalib/plugins/automember.py:531 msgid "" "\n" " Search for automember rules.\n" " " msgstr "" -#: ipalib/plugins/automember.py:534 +#: ipalib/plugins/automember.py:538 #, python-format msgid "%(count)d rules matched" msgid_plural "%(count)d rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automember.py:546 +#: ipalib/plugins/automember.py:550 msgid "" "\n" " Display information about an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:561 +#: ipalib/plugins/automember.py:565 msgid "" "\n" " Set default (fallback) group for all unmatched entries.\n" " " msgstr "" -#: ipalib/plugins/automember.py:569 +#: ipalib/plugins/automember.py:573 msgid "Default (fallback) group for entries to land" msgstr "" -#: ipalib/plugins/automember.py:573 +#: ipalib/plugins/automember.py:577 #, python-format msgid "Set default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:589 +#: ipalib/plugins/automember.py:593 msgid "" "\n" " Remove default (fallback) group for all unmatched entries.\n" " " msgstr "" -#: ipalib/plugins/automember.py:594 +#: ipalib/plugins/automember.py:598 #, python-format msgid "Removed default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:604 ipalib/plugins/automember.py:612 -#: ipalib/plugins/automember.py:636 +#: ipalib/plugins/automember.py:608 ipalib/plugins/automember.py:616 +#: ipalib/plugins/automember.py:640 msgid "No default (fallback) group set" msgstr "" -#: ipalib/plugins/automember.py:623 +#: ipalib/plugins/automember.py:627 msgid "" "\n" " Display information about the default (fallback) automember groups.\n" " " msgstr "" -#: ipalib/plugins/automember.py:647 +#: ipalib/plugins/automember.py:651 msgid "Rebuild auto membership." msgstr "" -#: ipalib/plugins/automember.py:653 +#: ipalib/plugins/automember.py:657 msgid "Rebuild membership for all members of a grouping" msgstr "" -#: ipalib/plugins/automember.py:657 ipalib/plugins/baseuser.py:208 -#: ipalib/plugins/caacl.py:269 ipalib/plugins/hbacrule.py:240 -#: ipalib/plugins/internal.py:573 ipalib/plugins/selinuxusermap.py:234 -#: ipalib/plugins/sudorule.py:267 ipalib/plugins/user.py:125 +#: ipalib/plugins/automember.py:661 ipalib/plugins/baseuser.py:213 +#: ipalib/plugins/caacl.py:270 ipalib/plugins/hbacrule.py:240 +#: ipalib/plugins/internal.py:592 ipalib/plugins/selinuxusermap.py:234 +#: ipalib/plugins/sudorule.py:271 ipalib/plugins/user.py:133 msgid "Users" msgstr "" -#: ipalib/plugins/automember.py:658 +#: ipalib/plugins/automember.py:662 msgid "Rebuild membership for specified users" msgstr "" -#: ipalib/plugins/automember.py:662 ipalib/plugins/caacl.py:277 -#: ipalib/plugins/hbacrule.py:248 ipalib/plugins/host.py:447 -#: ipalib/plugins/internal.py:567 ipalib/plugins/selinuxusermap.py:242 -#: ipalib/plugins/sudorule.py:280 +#: ipalib/plugins/automember.py:666 ipalib/plugins/caacl.py:278 +#: ipalib/plugins/hbacrule.py:248 ipalib/plugins/host.py:454 +#: ipalib/plugins/internal.py:586 ipalib/plugins/selinuxusermap.py:242 +#: ipalib/plugins/sudorule.py:284 msgid "Hosts" msgstr "" -#: ipalib/plugins/automember.py:663 +#: ipalib/plugins/automember.py:667 msgid "Rebuild membership for specified hosts" msgstr "" -#: ipalib/plugins/automember.py:668 +#: ipalib/plugins/automember.py:672 msgid "No wait" msgstr "" -#: ipalib/plugins/automember.py:669 +#: ipalib/plugins/automember.py:673 msgid "Don't wait for rebuilding membership" msgstr "" -#: ipalib/plugins/automember.py:676 +#: ipalib/plugins/automember.py:680 msgid "Task DN" msgstr "" -#: ipalib/plugins/automember.py:677 +#: ipalib/plugins/automember.py:681 msgid "DN of the started task" msgstr "" -#: ipalib/plugins/automember.py:694 +#: ipalib/plugins/automember.py:698 msgid "at least one of options: type, users, hosts must be specified" msgstr "" -#: ipalib/plugins/automember.py:700 +#: ipalib/plugins/automember.py:704 msgid "users and hosts cannot both be set" msgstr "" -#: ipalib/plugins/automember.py:704 +#: ipalib/plugins/automember.py:708 msgid "hosts cannot be set when type is 'group'" msgstr "" -#: ipalib/plugins/automember.py:708 +#: ipalib/plugins/automember.py:712 msgid "users cannot be set when type is 'hostgroup'" msgstr "" -#: ipalib/plugins/automember.py:762 +#: ipalib/plugins/automember.py:766 msgid "Automember rebuild membership task started" msgstr "" -#: ipalib/plugins/automember.py:766 ipalib/plugins/internal.py:158 +#: ipalib/plugins/automember.py:770 ipalib/plugins/internal.py:159 msgid "Automember rebuild membership task completed" msgstr "" -#: ipalib/plugins/automember.py:783 +#: ipalib/plugins/automember.py:787 #, python-format msgid "Task DN = '%s'" msgstr "" -#: ipalib/plugins/automember.py:786 ipalib/plugins/internal.py:792 +#: ipalib/plugins/automember.py:790 ipalib/plugins/internal.py:812 msgid "Automember" msgstr "" -#: ipalib/plugins/automount.py:30 +#: ipalib/plugins/automount.py:35 msgid "" "\n" "Automount\n" @@ -1573,625 +1611,642 @@ msgid "" " ipa automountkey-del baltimore auto.share --key=man\n" msgstr "" -#: ipalib/plugins/automount.py:209 +#: ipalib/plugins/automount.py:214 msgid "automount location" msgstr "" -#: ipalib/plugins/automount.py:210 +#: ipalib/plugins/automount.py:215 msgid "automount locations" msgstr "" -#: ipalib/plugins/automount.py:213 +#: ipalib/plugins/automount.py:218 msgid "Automount Locations" msgstr "" -#: ipalib/plugins/automount.py:214 +#: ipalib/plugins/automount.py:219 msgid "Automount Location" msgstr "" -#: ipalib/plugins/automount.py:243 ipalib/plugins/host.py:469 +#: ipalib/plugins/automount.py:248 ipalib/plugins/host.py:476 msgid "Location" msgstr "" -#: ipalib/plugins/automount.py:244 +#: ipalib/plugins/automount.py:249 msgid "Automount location name." msgstr "" -#: ipalib/plugins/automount.py:252 +#: ipalib/plugins/automount.py:257 msgid "Create a new automount location." msgstr "" -#: ipalib/plugins/automount.py:254 +#: ipalib/plugins/automount.py:259 #, python-format msgid "Added automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:272 +#: ipalib/plugins/automount.py:277 msgid "Delete an automount location." msgstr "" -#: ipalib/plugins/automount.py:274 +#: ipalib/plugins/automount.py:279 #, python-format msgid "Deleted automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:279 +#: ipalib/plugins/automount.py:284 msgid "Display an automount location." msgstr "" -#: ipalib/plugins/automount.py:284 +#: ipalib/plugins/automount.py:289 msgid "Search for an automount location." msgstr "" -#: ipalib/plugins/automount.py:287 +#: ipalib/plugins/automount.py:292 #, python-format msgid "%(count)d automount location matched" msgid_plural "%(count)d automount locations matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:294 +#: ipalib/plugins/automount.py:299 msgid "Generate automount files for a specific location." msgstr "" -#: ipalib/plugins/automount.py:372 +#: ipalib/plugins/automount.py:377 msgid "maps not connected to /etc/auto.master:" msgstr "" -#: ipalib/plugins/automount.py:389 +#: ipalib/plugins/automount.py:394 msgid "Import automount files for a specific location." msgstr "" -#: ipalib/plugins/automount.py:393 +#: ipalib/plugins/automount.py:398 msgid "Master file" msgstr "" -#: ipalib/plugins/automount.py:394 +#: ipalib/plugins/automount.py:399 msgid "Automount master file." msgstr "" -#: ipalib/plugins/automount.py:401 +#: ipalib/plugins/automount.py:406 msgid "" "Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/plugins/automount.py:413 +#: ipalib/plugins/automount.py:418 #, python-format msgid "File %(file)s not found" msgstr "" -#: ipalib/plugins/automount.py:465 +#: ipalib/plugins/automount.py:470 #, python-format msgid "key %(key)s already exists" msgstr "" -#: ipalib/plugins/automount.py:481 +#: ipalib/plugins/automount.py:486 #, python-format msgid "map %(map)s already exists" msgstr "" -#: ipalib/plugins/automount.py:585 +#: ipalib/plugins/automount.py:590 msgid "automount map" msgstr "" -#: ipalib/plugins/automount.py:586 +#: ipalib/plugins/automount.py:591 msgid "automount maps" msgstr "" -#: ipalib/plugins/automount.py:594 +#: ipalib/plugins/automount.py:599 msgid "Map" msgstr "" -#: ipalib/plugins/automount.py:595 +#: ipalib/plugins/automount.py:600 msgid "Automount map name." msgstr "" -#: ipalib/plugins/automount.py:629 +#: ipalib/plugins/automount.py:634 msgid "Automount Maps" msgstr "" -#: ipalib/plugins/automount.py:630 +#: ipalib/plugins/automount.py:635 msgid "Automount Map" msgstr "" -#: ipalib/plugins/automount.py:635 +#: ipalib/plugins/automount.py:640 msgid "Create a new automount map." msgstr "" -#: ipalib/plugins/automount.py:637 +#: ipalib/plugins/automount.py:642 #, python-format msgid "Added automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:642 +#: ipalib/plugins/automount.py:647 msgid "Delete an automount map." msgstr "" -#: ipalib/plugins/automount.py:644 +#: ipalib/plugins/automount.py:649 #, python-format msgid "Deleted automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:662 +#: ipalib/plugins/automount.py:667 msgid "Modify an automount map." msgstr "" -#: ipalib/plugins/automount.py:664 +#: ipalib/plugins/automount.py:669 #, python-format msgid "Modified automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:669 +#: ipalib/plugins/automount.py:674 msgid "Search for an automount map." msgstr "" -#: ipalib/plugins/automount.py:672 +#: ipalib/plugins/automount.py:677 #, python-format msgid "%(count)d automount map matched" msgid_plural "%(count)d automount maps matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:679 +#: ipalib/plugins/automount.py:684 msgid "Display an automount map." msgstr "" -#: ipalib/plugins/automount.py:684 +#: ipalib/plugins/automount.py:689 msgid "Automount key object." msgstr "" -#: ipalib/plugins/automount.py:688 +#: ipalib/plugins/automount.py:693 msgid "automount key" msgstr "" -#: ipalib/plugins/automount.py:689 +#: ipalib/plugins/automount.py:694 msgid "automount keys" msgstr "" -#: ipalib/plugins/automount.py:701 ipalib/plugins/automount.py:950 -#: ipalib/plugins/automount.py:1057 ipalib/plugins/otptoken.py:214 +#: ipalib/plugins/automount.py:706 ipalib/plugins/automount.py:955 +#: ipalib/plugins/automount.py:1062 ipalib/plugins/otptoken.py:218 msgid "Key" msgstr "" -#: ipalib/plugins/automount.py:702 ipalib/plugins/automount.py:951 -#: ipalib/plugins/automount.py:1058 +#: ipalib/plugins/automount.py:707 ipalib/plugins/automount.py:956 +#: ipalib/plugins/automount.py:1063 msgid "Automount key name." msgstr "" -#: ipalib/plugins/automount.py:707 ipalib/plugins/automount.py:955 -#: ipalib/plugins/automount.py:1062 +#: ipalib/plugins/automount.py:712 ipalib/plugins/automount.py:960 +#: ipalib/plugins/automount.py:1067 msgid "Mount information" msgstr "" -#: ipalib/plugins/automount.py:710 +#: ipalib/plugins/automount.py:715 msgid "description" msgstr "" -#: ipalib/plugins/automount.py:748 +#: ipalib/plugins/automount.py:753 msgid "Automount Keys" msgstr "" -#: ipalib/plugins/automount.py:749 +#: ipalib/plugins/automount.py:754 msgid "Automount Key" msgstr "" -#: ipalib/plugins/automount.py:750 +#: ipalib/plugins/automount.py:755 #, 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:751 +#: ipalib/plugins/automount.py:756 #, python-format msgid "key named %(key)s already exists" msgstr "" -#: ipalib/plugins/automount.py:752 +#: ipalib/plugins/automount.py:757 #, python-format msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/automount.py:802 +#: ipalib/plugins/automount.py:807 #, python-format msgid "" "More than one entry with key %(key)s found, use --info to select specific " "entry." msgstr "" -#: ipalib/plugins/automount.py:861 +#: ipalib/plugins/automount.py:866 msgid "Create a new automount key." msgstr "" -#: ipalib/plugins/automount.py:863 +#: ipalib/plugins/automount.py:868 #, python-format msgid "Added automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:890 +#: ipalib/plugins/automount.py:895 msgid "Create a new indirect mount point." msgstr "" -#: ipalib/plugins/automount.py:892 +#: ipalib/plugins/automount.py:897 #, python-format msgid "Added automount indirect map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:897 +#: ipalib/plugins/automount.py:902 msgid "Mount point" msgstr "" -#: ipalib/plugins/automount.py:901 +#: ipalib/plugins/automount.py:906 msgid "Parent map" msgstr "" -#: ipalib/plugins/automount.py:902 +#: ipalib/plugins/automount.py:907 msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/automount.py:916 +#: ipalib/plugins/automount.py:921 msgid "mount point is relative to parent map, cannot begin with /" msgstr "" -#: ipalib/plugins/automount.py:943 +#: ipalib/plugins/automount.py:948 msgid "Delete an automount key." msgstr "" -#: ipalib/plugins/automount.py:945 +#: ipalib/plugins/automount.py:950 #, python-format msgid "Deleted automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:984 +#: ipalib/plugins/automount.py:989 msgid "Modify an automount key." msgstr "" -#: ipalib/plugins/automount.py:986 +#: ipalib/plugins/automount.py:991 #, python-format msgid "Modified automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:993 +#: ipalib/plugins/automount.py:998 msgid "New mount information" msgstr "" -#: ipalib/plugins/automount.py:1042 +#: ipalib/plugins/automount.py:1047 msgid "Search for an automount key." msgstr "" -#: ipalib/plugins/automount.py:1045 +#: ipalib/plugins/automount.py:1050 #, python-format msgid "%(count)d automount key matched" msgid_plural "%(count)d automount keys matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:1052 +#: ipalib/plugins/automount.py:1057 msgid "Display an automount key." msgstr "" -#: ipalib/plugins/baseldap.py:43 ipalib/plugins/baseuser.py:276 -#: ipalib/plugins/internal.py:196 ipalib/plugins/internal.py:314 -#: ipalib/plugins/internal.py:756 ipalib/plugins/migration.py:500 -#: ipalib/plugins/otptoken.py:522 +#: ipalib/plugins/baseldap.py:48 ipalib/plugins/baseuser.py:281 +#: ipalib/plugins/internal.py:197 ipalib/plugins/internal.py:317 +#: ipalib/plugins/internal.py:776 ipalib/plugins/migration.py:505 +#: ipalib/plugins/otptoken.py:507 msgid "Password" msgstr "" -#: ipalib/plugins/baseldap.py:46 ipalib/plugins/servicedelegation.py:100 +#: ipalib/plugins/baseldap.py:51 ipalib/plugins/servicedelegation.py:105 msgid "Failed members" msgstr "" -#: ipalib/plugins/baseldap.py:49 +#: ipalib/plugins/baseldap.py:54 msgid "Member users" msgstr "" -#: ipalib/plugins/baseldap.py:52 +#: ipalib/plugins/baseldap.py:57 msgid "Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:55 +#: ipalib/plugins/baseldap.py:60 msgid "Member of groups" msgstr "" -#: ipalib/plugins/baseldap.py:58 +#: ipalib/plugins/baseldap.py:63 msgid "Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:61 +#: ipalib/plugins/baseldap.py:66 msgid "Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:64 +#: ipalib/plugins/baseldap.py:69 msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:73 ipalib/plugins/role.py:130 +#: ipalib/plugins/baseldap.py:78 ipalib/plugins/role.py:130 msgid "Roles" msgstr "" -#: ipalib/plugins/baseldap.py:76 ipalib/plugins/sudocmdgroup.py:110 +#: ipalib/plugins/baseldap.py:81 ipalib/plugins/sudocmdgroup.py:110 #: ipalib/plugins/sudocmdgroup.py:130 msgid "Sudo Command Groups" msgstr "" -#: ipalib/plugins/baseldap.py:82 +#: ipalib/plugins/baseldap.py:87 msgid "Granting privilege to roles" msgstr "" -#: ipalib/plugins/baseldap.py:85 +#: ipalib/plugins/baseldap.py:90 msgid "Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:88 +#: ipalib/plugins/baseldap.py:93 msgid "Member of netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:91 +#: ipalib/plugins/baseldap.py:96 msgid "Member services" msgstr "" -#: ipalib/plugins/baseldap.py:94 +#: ipalib/plugins/baseldap.py:99 msgid "Member service groups" msgstr "" -#: ipalib/plugins/baseldap.py:100 +#: ipalib/plugins/baseldap.py:105 msgid "Member HBAC service" msgstr "" -#: ipalib/plugins/baseldap.py:103 +#: ipalib/plugins/baseldap.py:108 msgid "Member HBAC service groups" msgstr "" -#: ipalib/plugins/baseldap.py:118 +#: ipalib/plugins/baseldap.py:123 msgid "Indirect Member users" msgstr "" -#: ipalib/plugins/baseldap.py:121 +#: ipalib/plugins/baseldap.py:126 msgid "Indirect Member groups" msgstr "" -#: ipalib/plugins/baseldap.py:124 +#: ipalib/plugins/baseldap.py:129 msgid "Indirect Member hosts" msgstr "" -#: ipalib/plugins/baseldap.py:127 +#: ipalib/plugins/baseldap.py:132 msgid "Indirect Member host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:130 +#: ipalib/plugins/baseldap.py:135 msgid "Indirect Member of roles" msgstr "" -#: ipalib/plugins/baseldap.py:133 +#: ipalib/plugins/baseldap.py:138 msgid "Indirect Member permissions" msgstr "" -#: ipalib/plugins/baseldap.py:136 +#: ipalib/plugins/baseldap.py:141 msgid "Indirect Member HBAC service" msgstr "" -#: ipalib/plugins/baseldap.py:139 +#: ipalib/plugins/baseldap.py:144 msgid "Indirect Member HBAC service group" msgstr "" -#: ipalib/plugins/baseldap.py:142 +#: ipalib/plugins/baseldap.py:147 msgid "Indirect Member netgroups" msgstr "" -#: ipalib/plugins/baseldap.py:163 +#: ipalib/plugins/baseldap.py:168 msgid "Failed source hosts/hostgroups" msgstr "" -#: ipalib/plugins/baseldap.py:166 +#: ipalib/plugins/baseldap.py:171 msgid "Failed hosts/hostgroups" msgstr "" -#: ipalib/plugins/baseldap.py:169 +#: ipalib/plugins/baseldap.py:174 msgid "Failed users/groups" msgstr "" -#: ipalib/plugins/baseldap.py:172 +#: ipalib/plugins/baseldap.py:177 msgid "Failed service/service groups" msgstr "" -#: ipalib/plugins/baseldap.py:175 +#: ipalib/plugins/baseldap.py:180 msgid "Failed to remove" msgstr "" -#: ipalib/plugins/baseldap.py:179 +#: ipalib/plugins/baseldap.py:184 msgid "Failed RunAs" msgstr "" -#: ipalib/plugins/baseldap.py:182 +#: ipalib/plugins/baseldap.py:187 msgid "Failed RunAsGroup" msgstr "" -#: ipalib/plugins/baseldap.py:200 +#: ipalib/plugins/baseldap.py:205 msgid "Invalid format. Should be name=value" msgstr "" -#: ipalib/plugins/baseldap.py:319 +#: ipalib/plugins/baseldap.py:324 msgid "External host" msgstr "" -#: ipalib/plugins/baseldap.py:491 +#: ipalib/plugins/baseldap.py:496 msgid "An IPA master host cannot be deleted or disabled" msgstr "" -#: ipalib/plugins/baseldap.py:522 +#: ipalib/plugins/baseldap.py:527 msgid "entry" msgstr "" -#: ipalib/plugins/baseldap.py:523 +#: ipalib/plugins/baseldap.py:528 msgid "entries" msgstr "" -#: ipalib/plugins/baseldap.py:556 ipalib/plugins/baseldap.py:557 +#: ipalib/plugins/baseldap.py:561 ipalib/plugins/baseldap.py:562 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:560 +#: ipalib/plugins/baseldap.py:565 #, python-format msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:561 +#: ipalib/plugins/baseldap.py:566 #, python-format msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:562 +#: ipalib/plugins/baseldap.py:567 #, python-format msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:563 +#: ipalib/plugins/baseldap.py:568 #, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:844 ipalib/plugins/baseldap.py:852 -#: ipalib/plugins/baseldap.py:857 +#: ipalib/plugins/baseldap.py:849 ipalib/plugins/baseldap.py:857 +#: ipalib/plugins/baseldap.py:862 #, python-format msgid "attribute \"%(attribute)s\" not allowed" msgstr "" -#: ipalib/plugins/baseldap.py:919 +#: ipalib/plugins/baseldap.py:924 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:925 +#: ipalib/plugins/baseldap.py:930 msgid "" "Add an attribute/value pair. Format is attr=value. The attribute\n" "must be part of the schema." msgstr "" -#: ipalib/plugins/baseldap.py:931 +#: ipalib/plugins/baseldap.py:936 msgid "" "Delete an attribute/value pair. The option will be evaluated\n" "last, after all sets and adds." msgstr "" -#: ipalib/plugins/baseldap.py:965 +#: ipalib/plugins/baseldap.py:970 msgid "attribute is not configurable" msgstr "" -#: ipalib/plugins/baseldap.py:1068 +#: ipalib/plugins/baseldap.py:1073 msgid "No such attribute on this entry" msgstr "" -#: ipalib/plugins/baseldap.py:1164 +#: ipalib/plugins/baseldap.py:1170 msgid "Suppress processing of membership attributes." msgstr "" -#: ipalib/plugins/baseldap.py:1343 +#: ipalib/plugins/baseldap.py:1327 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:1364 ipalib/plugins/baseldap.py:1442 +#: ipalib/plugins/baseldap.py:1348 ipalib/plugins/baseldap.py:1426 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:1365 ipalib/plugins/baseldap.py:1443 +#: ipalib/plugins/baseldap.py:1349 ipalib/plugins/baseldap.py:1427 msgid "" "Display the access rights of this entry (requires --all). See ipa man page " "for details." msgstr "" -#: ipalib/plugins/baseldap.py:1452 +#: ipalib/plugins/baseldap.py:1436 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:1453 +#: ipalib/plugins/baseldap.py:1437 #, python-format msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:1543 +#: ipalib/plugins/baseldap.py:1527 ipalib/plugins/baseldap.py:2399 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:1676 ipalib/plugins/baseldap.py:2151 +#: ipalib/plugins/baseldap.py:1664 ipalib/plugins/baseldap.py:2129 #, python-format msgid "%s" msgstr "" -#: ipalib/plugins/baseldap.py:1688 ipalib/plugins/servicedelegation.py:184 -#: ipalib/plugins/servicedelegation.py:267 +#: ipalib/plugins/baseldap.py:1665 ipalib/plugins/servicedelegation.py:189 +#: ipalib/plugins/servicedelegation.py:272 #, python-format msgid "member %s" msgstr "" -#: ipalib/plugins/baseldap.py:1718 ipalib/plugins/baseldap.py:2176 +#: ipalib/plugins/baseldap.py:1707 ipalib/plugins/baseldap.py:2154 #, python-format msgid "%s to add" msgstr "" -#: ipalib/plugins/baseldap.py:1726 ipalib/plugins/baseldap.py:2188 -#: ipalib/plugins/privilege.py:176 ipalib/plugins/privilege.py:231 +#: ipalib/plugins/baseldap.py:1715 ipalib/plugins/baseldap.py:2166 +#: ipalib/plugins/privilege.py:201 ipalib/plugins/privilege.py:232 #: ipalib/plugins/role.py:213 ipalib/plugins/role.py:236 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:1730 ipalib/plugins/baseldap.py:2192 +#: ipalib/plugins/baseldap.py:1719 ipalib/plugins/baseldap.py:2170 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1820 ipalib/plugins/baseldap.py:2277 +#: ipalib/plugins/baseldap.py:1809 ipalib/plugins/baseldap.py:2255 #, python-format msgid "%s to remove" msgstr "" -#: ipalib/plugins/baseldap.py:1827 ipalib/plugins/baseldap.py:2289 +#: ipalib/plugins/baseldap.py:1816 ipalib/plugins/baseldap.py:2267 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1831 ipalib/plugins/baseldap.py:2293 +#: ipalib/plugins/baseldap.py:1820 ipalib/plugins/baseldap.py:2271 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1922 +#: ipalib/plugins/baseldap.py:1911 msgid "Primary key only" msgstr "" -#: ipalib/plugins/baseldap.py:1923 +#: ipalib/plugins/baseldap.py:1912 #, python-format msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -#: ipalib/plugins/baseldap.py:1931 +#: ipalib/plugins/baseldap.py:1920 #, python-format msgid "" "Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1932 +#: ipalib/plugins/baseldap.py:1921 #, python-format msgid "" "Search for %(searched_object)s without these %(relationship)s " "%(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1941 +#: ipalib/plugins/baseldap.py:1930 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1942 -msgid "Time limit of search in seconds" +#: ipalib/plugins/baseldap.py:1931 +msgid "Time limit of search in seconds (0 is unlimited)" msgstr "" -#: ipalib/plugins/baseldap.py:1948 ipalib/plugins/cert.py:786 -#: ipalib/plugins/hbactest.py:289 +#: ipalib/plugins/baseldap.py:1937 ipalib/plugins/cert.py:791 +#: ipalib/plugins/hbactest.py:292 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1949 -msgid "Maximum number of entries returned" +#: ipalib/plugins/baseldap.py:1938 +msgid "Maximum number of entries returned (0 is unlimited)" +msgstr "" + +#: ipalib/plugins/baseldap.py:2433 +msgid "added attribute value to entry %(value)" msgstr "" -#: ipalib/plugins/baseuser.py:44 +#: ipalib/plugins/baseldap.py:2442 +#, python-format +msgid "'%s' already contains one or more values" +msgstr "" + +#: ipalib/plugins/baseldap.py:2450 +msgid "removed attribute values from entry %(value)" +msgstr "" + +#: ipalib/plugins/baseldap.py:2459 +msgid "one or more values to remove" +msgstr "" + +#: ipalib/plugins/baseuser.py:48 msgid "" "\n" "Baseuser\n" @@ -2199,245 +2254,245 @@ msgid "" "This contains common definitions for user/stageuser\n" msgstr "" -#: ipalib/plugins/baseuser.py:56 +#: ipalib/plugins/baseuser.py:60 msgid "Kerberos keys available" msgstr "" -#: ipalib/plugins/baseuser.py:59 ipalib/plugins/host.py:217 +#: ipalib/plugins/baseuser.py:63 ipalib/plugins/host.py:224 msgid "SSH public key fingerprint" msgstr "" -#: ipalib/plugins/baseuser.py:65 ipalib/plugins/radiusproxy.py:114 +#: ipalib/plugins/baseuser.py:69 ipalib/plugins/radiusproxy.py:114 msgid "Server" msgstr "" -#: ipalib/plugins/baseuser.py:68 +#: ipalib/plugins/baseuser.py:72 msgid "Failed logins" msgstr "" -#: ipalib/plugins/baseuser.py:71 +#: ipalib/plugins/baseuser.py:75 msgid "Last successful authentication" msgstr "" -#: ipalib/plugins/baseuser.py:74 +#: ipalib/plugins/baseuser.py:78 msgid "Last failed authentication" msgstr "" -#: ipalib/plugins/baseuser.py:77 +#: ipalib/plugins/baseuser.py:81 msgid "Time now" msgstr "" -#: ipalib/plugins/baseuser.py:98 +#: ipalib/plugins/baseuser.py:102 msgid "must be TRUE or FALSE" msgstr "" -#: ipalib/plugins/baseuser.py:209 ipalib/plugins/internal.py:571 -#: ipalib/plugins/internal.py:637 ipalib/plugins/pwpolicy.py:524 -#: ipalib/plugins/user.py:126 +#: ipalib/plugins/baseuser.py:214 ipalib/plugins/internal.py:590 +#: ipalib/plugins/internal.py:656 ipalib/plugins/pwpolicy.py:529 +#: ipalib/plugins/user.py:134 msgid "User" msgstr "" -#: ipalib/plugins/baseuser.py:217 ipalib/plugins/idviews.py:690 +#: ipalib/plugins/baseuser.py:222 ipalib/plugins/idviews.py:838 msgid "User login" msgstr "" -#: ipalib/plugins/baseuser.py:224 +#: ipalib/plugins/baseuser.py:229 msgid "First name" msgstr "" -#: ipalib/plugins/baseuser.py:228 +#: ipalib/plugins/baseuser.py:233 msgid "Last name" msgstr "" -#: ipalib/plugins/baseuser.py:231 +#: ipalib/plugins/baseuser.py:236 msgid "Full name" msgstr "" -#: ipalib/plugins/baseuser.py:236 +#: ipalib/plugins/baseuser.py:241 msgid "Display name" msgstr "" -#: ipalib/plugins/baseuser.py:241 +#: ipalib/plugins/baseuser.py:246 msgid "Initials" msgstr "" -#: ipalib/plugins/baseuser.py:247 ipalib/plugins/idviews.py:709 +#: ipalib/plugins/baseuser.py:252 ipalib/plugins/idviews.py:857 msgid "Home directory" msgstr "" -#: ipalib/plugins/baseuser.py:250 ipalib/plugins/idviews.py:700 +#: ipalib/plugins/baseuser.py:255 ipalib/plugins/idviews.py:848 msgid "GECOS" msgstr "" -#: ipalib/plugins/baseuser.py:256 ipalib/plugins/idviews.py:713 +#: ipalib/plugins/baseuser.py:261 ipalib/plugins/idviews.py:861 msgid "Login shell" msgstr "" -#: ipalib/plugins/baseuser.py:260 +#: ipalib/plugins/baseuser.py:265 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/baseuser.py:268 +#: ipalib/plugins/baseuser.py:273 msgid "Kerberos principal expiration" msgstr "" -#: ipalib/plugins/baseuser.py:272 +#: ipalib/plugins/baseuser.py:277 msgid "Email address" msgstr "" -#: ipalib/plugins/baseuser.py:277 +#: ipalib/plugins/baseuser.py:282 msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/baseuser.py:283 +#: ipalib/plugins/baseuser.py:288 msgid "Generate a random user password" msgstr "" -#: ipalib/plugins/baseuser.py:288 ipalib/plugins/host.py:493 +#: ipalib/plugins/baseuser.py:293 ipalib/plugins/host.py:500 msgid "Random password" msgstr "" -#: ipalib/plugins/baseuser.py:293 ipalib/plugins/idviews.py:695 +#: ipalib/plugins/baseuser.py:298 ipalib/plugins/idviews.py:843 msgid "UID" msgstr "" -#: ipalib/plugins/baseuser.py:294 +#: ipalib/plugins/baseuser.py:299 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/baseuser.py:298 ipalib/plugins/group.py:247 -#: ipalib/plugins/idviews.py:703 ipalib/plugins/idviews.py:775 +#: ipalib/plugins/baseuser.py:303 ipalib/plugins/group.py:254 +#: ipalib/plugins/idviews.py:851 ipalib/plugins/idviews.py:930 msgid "GID" msgstr "" -#: ipalib/plugins/baseuser.py:299 ipalib/plugins/idviews.py:704 -#: ipalib/plugins/idviews.py:776 +#: ipalib/plugins/baseuser.py:304 ipalib/plugins/idviews.py:852 +#: ipalib/plugins/idviews.py:931 msgid "Group ID Number" msgstr "" -#: ipalib/plugins/baseuser.py:304 +#: ipalib/plugins/baseuser.py:309 msgid "Street address" msgstr "" -#: ipalib/plugins/baseuser.py:308 +#: ipalib/plugins/baseuser.py:313 msgid "City" msgstr "" -#: ipalib/plugins/baseuser.py:312 +#: ipalib/plugins/baseuser.py:317 msgid "State/Province" msgstr "" -#: ipalib/plugins/baseuser.py:315 +#: ipalib/plugins/baseuser.py:320 msgid "ZIP" msgstr "" -#: ipalib/plugins/baseuser.py:319 +#: ipalib/plugins/baseuser.py:324 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/baseuser.py:322 +#: ipalib/plugins/baseuser.py:327 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/baseuser.py:325 +#: ipalib/plugins/baseuser.py:330 msgid "Pager Number" msgstr "" -#: ipalib/plugins/baseuser.py:329 +#: ipalib/plugins/baseuser.py:334 msgid "Fax Number" msgstr "" -#: ipalib/plugins/baseuser.py:333 +#: ipalib/plugins/baseuser.py:338 msgid "Org. Unit" msgstr "" -#: ipalib/plugins/baseuser.py:336 +#: ipalib/plugins/baseuser.py:341 msgid "Job Title" msgstr "" -#: ipalib/plugins/baseuser.py:339 ipalib/plugins/otptoken.py:178 +#: ipalib/plugins/baseuser.py:345 ipalib/plugins/otptoken.py:182 msgid "Manager" msgstr "" -#: ipalib/plugins/baseuser.py:342 +#: ipalib/plugins/baseuser.py:348 msgid "Car License" msgstr "" -#: ipalib/plugins/baseuser.py:346 ipalib/plugins/host.py:516 -#: ipalib/plugins/idviews.py:720 +#: ipalib/plugins/baseuser.py:352 ipalib/plugins/host.py:523 +#: ipalib/plugins/idviews.py:868 msgid "SSH public key" msgstr "" -#: ipalib/plugins/baseuser.py:353 +#: ipalib/plugins/baseuser.py:359 msgid "User authentication types" msgstr "" -#: ipalib/plugins/baseuser.py:354 +#: ipalib/plugins/baseuser.py:360 msgid "Types of supported user authentication" msgstr "" -#: ipalib/plugins/baseuser.py:360 ipalib/plugins/host.py:523 +#: ipalib/plugins/baseuser.py:366 ipalib/plugins/host.py:530 msgid "Class" msgstr "" -#: ipalib/plugins/baseuser.py:361 +#: ipalib/plugins/baseuser.py:367 msgid "" "User category (semantics placed on this attribute are for local " "interpretation)" msgstr "" -#: ipalib/plugins/baseuser.py:366 +#: ipalib/plugins/baseuser.py:372 msgid "RADIUS proxy configuration" msgstr "" -#: ipalib/plugins/baseuser.py:370 +#: ipalib/plugins/baseuser.py:376 msgid "RADIUS proxy username" msgstr "" -#: ipalib/plugins/baseuser.py:373 +#: ipalib/plugins/baseuser.py:379 msgid "Department Number" msgstr "" -#: ipalib/plugins/baseuser.py:376 +#: ipalib/plugins/baseuser.py:382 msgid "Employee Number" msgstr "" -#: ipalib/plugins/baseuser.py:379 +#: ipalib/plugins/baseuser.py:385 msgid "Employee Type" msgstr "" -#: ipalib/plugins/baseuser.py:382 +#: ipalib/plugins/baseuser.py:388 msgid "Preferred Language" msgstr "" -#: ipalib/plugins/baseuser.py:389 ipalib/plugins/cert.py:258 -#: ipalib/plugins/cert.py:566 ipalib/plugins/host.py:498 -#: ipalib/plugins/internal.py:354 ipalib/plugins/service.py:453 +#: ipalib/plugins/baseuser.py:395 ipalib/plugins/cert.py:281 +#: ipalib/plugins/cert.py:571 ipalib/plugins/host.py:505 +#: ipalib/plugins/internal.py:371 ipalib/plugins/service.py:483 msgid "Certificate" msgstr "" -#: ipalib/plugins/baseuser.py:390 ipalib/plugins/host.py:499 -#: ipalib/plugins/service.py:454 +#: ipalib/plugins/baseuser.py:396 ipalib/plugins/host.py:506 +#: ipalib/plugins/service.py:484 msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/baseuser.py:409 ipalib/plugins/baseuser.py:413 +#: ipalib/plugins/baseuser.py:415 ipalib/plugins/baseuser.py:419 #, python-format msgid "invalid e-mail format: %(email)s" msgstr "" -#: ipalib/plugins/baseuser.py:439 +#: ipalib/plugins/baseuser.py:446 #, python-format msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/baseuser.py:491 ipalib/plugins/stageuser.py:300 -#: ipalib/plugins/stageuser.py:526 ipalib/plugins/user.py:442 +#: ipalib/plugins/baseuser.py:527 ipalib/plugins/stageuser.py:314 +#: ipalib/plugins/stageuser.py:504 ipalib/plugins/user.py:458 #, python-format msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/batch.py:66 +#: ipalib/plugins/batch.py:71 msgid "Nested Methods to execute" msgstr "" @@ -2477,296 +2532,301 @@ msgid "" " ipa caacl-del test\n" msgstr "" -#: ipalib/plugins/caacl.py:135 ipalib/plugins/caacl.py:212 +#: ipalib/plugins/caacl.py:136 ipalib/plugins/caacl.py:213 +#: ipalib/plugins/caacl.py:313 msgid "CA ACL" msgstr "" -#: ipalib/plugins/caacl.py:136 ipalib/plugins/caacl.py:211 +#: ipalib/plugins/caacl.py:137 ipalib/plugins/caacl.py:212 msgid "CA ACLs" msgstr "" -#: ipalib/plugins/caacl.py:217 +#: ipalib/plugins/caacl.py:218 msgid "ACL name" msgstr "" -#: ipalib/plugins/caacl.py:225 ipalib/plugins/hbacrule.py:236 -#: ipalib/plugins/internal.py:785 ipalib/plugins/selinuxusermap.py:230 -#: ipalib/plugins/sudorule.py:226 +#: ipalib/plugins/caacl.py:226 ipalib/plugins/hbacrule.py:236 +#: ipalib/plugins/internal.py:805 ipalib/plugins/selinuxusermap.py:230 +#: ipalib/plugins/sudorule.py:230 msgid "Enabled" msgstr "" -#: ipalib/plugins/caacl.py:237 +#: ipalib/plugins/caacl.py:238 msgid "Profile category" msgstr "" -#: ipalib/plugins/caacl.py:238 +#: ipalib/plugins/caacl.py:239 msgid "Profile category the ACL applies to" msgstr "" -#: ipalib/plugins/caacl.py:243 ipalib/plugins/hbacrule.py:210 -#: ipalib/plugins/netgroup.py:206 ipalib/plugins/selinuxusermap.py:215 -#: ipalib/plugins/sudorule.py:231 +#: ipalib/plugins/caacl.py:244 ipalib/plugins/hbacrule.py:210 +#: ipalib/plugins/netgroup.py:214 ipalib/plugins/selinuxusermap.py:215 +#: ipalib/plugins/sudorule.py:235 msgid "User category" msgstr "" -#: ipalib/plugins/caacl.py:244 +#: ipalib/plugins/caacl.py:245 msgid "User category the ACL applies to" msgstr "" -#: ipalib/plugins/caacl.py:249 ipalib/plugins/hbacrule.py:216 -#: ipalib/plugins/netgroup.py:212 ipalib/plugins/selinuxusermap.py:221 -#: ipalib/plugins/sudorule.py:237 +#: ipalib/plugins/caacl.py:250 ipalib/plugins/hbacrule.py:216 +#: ipalib/plugins/netgroup.py:220 ipalib/plugins/selinuxusermap.py:221 +#: ipalib/plugins/sudorule.py:241 msgid "Host category" msgstr "" -#: ipalib/plugins/caacl.py:250 +#: ipalib/plugins/caacl.py:251 msgid "Host category the ACL applies to" msgstr "" -#: ipalib/plugins/caacl.py:255 ipalib/plugins/hbacrule.py:223 +#: ipalib/plugins/caacl.py:256 ipalib/plugins/hbacrule.py:223 msgid "Service category" msgstr "" -#: ipalib/plugins/caacl.py:256 +#: ipalib/plugins/caacl.py:257 msgid "Service category the ACL applies to" msgstr "" -#: ipalib/plugins/caacl.py:265 +#: ipalib/plugins/caacl.py:266 ipalib/plugins/internal.py:359 msgid "Profiles" msgstr "" -#: ipalib/plugins/caacl.py:273 ipalib/plugins/group.py:227 -#: ipalib/plugins/hbacrule.py:244 ipalib/plugins/internal.py:572 -#: ipalib/plugins/selinuxusermap.py:238 ipalib/plugins/sudorule.py:271 +#: ipalib/plugins/caacl.py:274 ipalib/plugins/group.py:234 +#: ipalib/plugins/hbacrule.py:244 ipalib/plugins/internal.py:591 +#: ipalib/plugins/selinuxusermap.py:238 ipalib/plugins/sudorule.py:275 msgid "User Groups" msgstr "" -#: ipalib/plugins/caacl.py:281 ipalib/plugins/hbacrule.py:252 -#: ipalib/plugins/hostgroup.py:141 ipalib/plugins/internal.py:566 -#: ipalib/plugins/selinuxusermap.py:246 ipalib/plugins/sudorule.py:284 +#: ipalib/plugins/caacl.py:282 ipalib/plugins/hbacrule.py:252 +#: ipalib/plugins/hostgroup.py:147 ipalib/plugins/internal.py:585 +#: ipalib/plugins/selinuxusermap.py:246 ipalib/plugins/sudorule.py:288 msgid "Host Groups" msgstr "" -#: ipalib/plugins/caacl.py:285 ipalib/plugins/hbacrule.py:258 -#: ipalib/plugins/internal.py:485 ipalib/plugins/service.py:440 +#: ipalib/plugins/caacl.py:286 ipalib/plugins/hbacrule.py:258 +#: ipalib/plugins/internal.py:504 ipalib/plugins/service.py:470 msgid "Services" msgstr "" -#: ipalib/plugins/caacl.py:293 +#: ipalib/plugins/caacl.py:294 msgid "Create a new CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:295 +#: ipalib/plugins/caacl.py:296 #, python-format msgid "Added CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:305 +#: ipalib/plugins/caacl.py:306 msgid "Delete a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:307 +#: ipalib/plugins/caacl.py:308 #, python-format msgid "Deleted CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:312 +#: ipalib/plugins/caacl.py:315 +msgid "default CA ACL can be only disabled" +msgstr "" + +#: ipalib/plugins/caacl.py:321 msgid "Modify a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:314 +#: ipalib/plugins/caacl.py:323 #, python-format msgid "Modified CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:332 +#: ipalib/plugins/caacl.py:341 msgid "" "profile category cannot be set to 'all' while there are allowed profiles" msgstr "" -#: ipalib/plugins/caacl.py:336 ipalib/plugins/hbacrule.py:316 -#: ipalib/plugins/netgroup.py:279 +#: ipalib/plugins/caacl.py:345 ipalib/plugins/hbacrule.py:316 +#: ipalib/plugins/netgroup.py:287 msgid "user category cannot be set to 'all' while there are allowed users" msgstr "" -#: ipalib/plugins/caacl.py:340 ipalib/plugins/hbacrule.py:318 -#: ipalib/plugins/netgroup.py:281 +#: ipalib/plugins/caacl.py:349 ipalib/plugins/hbacrule.py:318 +#: ipalib/plugins/netgroup.py:289 msgid "host category cannot be set to 'all' while there are allowed hosts" msgstr "" -#: ipalib/plugins/caacl.py:344 ipalib/plugins/hbacrule.py:320 +#: ipalib/plugins/caacl.py:353 ipalib/plugins/hbacrule.py:320 msgid "" "service category cannot be set to 'all' while there are allowed services" msgstr "" -#: ipalib/plugins/caacl.py:351 +#: ipalib/plugins/caacl.py:360 msgid "Search for CA ACLs." msgstr "" -#: ipalib/plugins/caacl.py:354 +#: ipalib/plugins/caacl.py:363 #, python-format msgid "%(count)d CA ACL matched" msgid_plural "%(count)d CA ACLs matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/caacl.py:360 +#: ipalib/plugins/caacl.py:369 msgid "Display the properties of a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:365 +#: ipalib/plugins/caacl.py:374 msgid "Enable a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:367 +#: ipalib/plugins/caacl.py:376 #, python-format msgid "Enabled CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:394 +#: ipalib/plugins/caacl.py:403 msgid "Disable a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:396 +#: ipalib/plugins/caacl.py:405 #, python-format msgid "Disabled CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:423 +#: ipalib/plugins/caacl.py:432 msgid "Add users and groups to a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:427 +#: ipalib/plugins/caacl.py:436 #, python-format msgid "%i user or group added." msgstr "" -#: ipalib/plugins/caacl.py:428 +#: ipalib/plugins/caacl.py:437 #, python-format msgid "%i users or groups added." msgstr "" -#: ipalib/plugins/caacl.py:439 ipalib/plugins/hbacrule.py:499 -#: ipalib/plugins/selinuxusermap.py:509 ipalib/plugins/sudorule.py:590 +#: ipalib/plugins/caacl.py:448 ipalib/plugins/hbacrule.py:499 +#: ipalib/plugins/selinuxusermap.py:509 ipalib/plugins/sudorule.py:594 msgid "users cannot be added when user category='all'" msgstr "" -#: ipalib/plugins/caacl.py:445 +#: ipalib/plugins/caacl.py:454 msgid "Remove users and groups from a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:449 +#: ipalib/plugins/caacl.py:458 #, python-format msgid "%i user or group removed." msgstr "" -#: ipalib/plugins/caacl.py:450 +#: ipalib/plugins/caacl.py:459 #, python-format msgid "%i users or groups removed." msgstr "" -#: ipalib/plugins/caacl.py:455 +#: ipalib/plugins/caacl.py:464 msgid "Add target hosts and hostgroups to a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:459 +#: ipalib/plugins/caacl.py:468 #, python-format msgid "%i host or hostgroup added." msgstr "" -#: ipalib/plugins/caacl.py:460 +#: ipalib/plugins/caacl.py:469 #, python-format msgid "%i hosts or hostgroups added." msgstr "" -#: ipalib/plugins/caacl.py:471 ipalib/plugins/hbacrule.py:530 -#: ipalib/plugins/selinuxusermap.py:542 ipalib/plugins/sudorule.py:644 +#: ipalib/plugins/caacl.py:480 ipalib/plugins/hbacrule.py:530 +#: ipalib/plugins/selinuxusermap.py:542 ipalib/plugins/sudorule.py:648 msgid "hosts cannot be added when host category='all'" msgstr "" -#: ipalib/plugins/caacl.py:477 +#: ipalib/plugins/caacl.py:486 msgid "Remove target hosts and hostgroups from a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:481 +#: ipalib/plugins/caacl.py:490 #, python-format msgid "%i host or hostgroup removed." msgstr "" -#: ipalib/plugins/caacl.py:482 +#: ipalib/plugins/caacl.py:491 #, python-format msgid "%i hosts or hostgroups removed." msgstr "" -#: ipalib/plugins/caacl.py:487 +#: ipalib/plugins/caacl.py:496 msgid "Add services to a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:490 +#: ipalib/plugins/caacl.py:499 #, python-format msgid "%i service added." msgstr "" -#: ipalib/plugins/caacl.py:490 +#: ipalib/plugins/caacl.py:499 #, python-format msgid "%i services added." msgstr "" -#: ipalib/plugins/caacl.py:501 ipalib/plugins/hbacrule.py:585 +#: ipalib/plugins/caacl.py:510 ipalib/plugins/hbacrule.py:585 msgid "services cannot be added when service category='all'" msgstr "" -#: ipalib/plugins/caacl.py:507 +#: ipalib/plugins/caacl.py:516 msgid "Remove services from a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:510 +#: ipalib/plugins/caacl.py:519 #, python-format msgid "%i service removed." msgstr "" -#: ipalib/plugins/caacl.py:510 +#: ipalib/plugins/caacl.py:519 #, python-format msgid "%i services removed." msgstr "" -#: ipalib/plugins/caacl.py:515 +#: ipalib/plugins/caacl.py:524 msgid "Failed profiles" msgstr "" -#: ipalib/plugins/caacl.py:526 +#: ipalib/plugins/caacl.py:535 msgid "Add profiles to a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:531 +#: ipalib/plugins/caacl.py:540 #, python-format msgid "%i profile added." msgstr "" -#: ipalib/plugins/caacl.py:531 +#: ipalib/plugins/caacl.py:540 #, python-format msgid "%i profiles added." msgstr "" -#: ipalib/plugins/caacl.py:542 +#: ipalib/plugins/caacl.py:551 msgid "profiles cannot be added when profile category='all'" msgstr "" -#: ipalib/plugins/caacl.py:548 +#: ipalib/plugins/caacl.py:557 msgid "Remove profiles from a CA ACL." msgstr "" -#: ipalib/plugins/caacl.py:553 +#: ipalib/plugins/caacl.py:562 #, python-format msgid "%i profile removed." msgstr "" -#: ipalib/plugins/caacl.py:553 +#: ipalib/plugins/caacl.py:562 #, python-format msgid "%i profiles removed." msgstr "" -#: ipalib/plugins/cert.py:47 +#: ipalib/plugins/cert.py:54 msgid "" "\n" "IPA certificate operations\n" @@ -2850,124 +2910,119 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/cert.py:157 ipalib/plugins/cert.py:366 +#: ipalib/plugins/cert.py:164 ipalib/plugins/cert.py:375 #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/cert.py:221 ipalib/plugins/certprofile.py:65 +#: ipalib/plugins/cert.py:228 ipalib/plugins/certprofile.py:89 msgid "CA is not configured" msgstr "" -#: ipalib/plugins/cert.py:225 +#: ipalib/plugins/cert.py:236 +#, python-format +msgid "" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." +msgstr "" + +#: ipalib/plugins/cert.py:248 msgid "Submit a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:229 +#: ipalib/plugins/cert.py:252 msgid "CSR" msgstr "" -#: ipalib/plugins/cert.py:238 ipalib/plugins/service.py:446 +#: ipalib/plugins/cert.py:261 ipalib/plugins/service.py:476 msgid "Principal" msgstr "" -#: ipalib/plugins/cert.py:239 +#: ipalib/plugins/cert.py:262 msgid "Principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/cert.py:246 +#: ipalib/plugins/cert.py:269 msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:251 ipalib/plugins/certprofile.py:102 +#: ipalib/plugins/cert.py:274 ipalib/plugins/certprofile.py:125 msgid "Profile ID" msgstr "" -#: ipalib/plugins/cert.py:252 +#: ipalib/plugins/cert.py:275 msgid "Certificate Profile to use" msgstr "" -#: ipalib/plugins/cert.py:261 ipalib/plugins/cert.py:569 -#: ipalib/plugins/cert.py:726 ipalib/plugins/cert.py:727 -#: ipalib/plugins/host.py:187 ipalib/plugins/internal.py:367 -#: ipalib/plugins/service.py:108 +#: ipalib/plugins/cert.py:284 ipalib/plugins/cert.py:574 +#: ipalib/plugins/cert.py:731 ipalib/plugins/cert.py:732 +#: ipalib/plugins/host.py:194 ipalib/plugins/internal.py:384 +#: ipalib/plugins/service.py:113 msgid "Subject" msgstr "" -#: ipalib/plugins/cert.py:264 ipalib/plugins/cert.py:572 -#: ipalib/plugins/host.py:196 ipalib/plugins/service.py:117 +#: ipalib/plugins/cert.py:287 ipalib/plugins/cert.py:577 +#: ipalib/plugins/host.py:203 ipalib/plugins/service.py:122 msgid "Issuer" msgstr "" -#: ipalib/plugins/cert.py:267 ipalib/plugins/cert.py:575 -#: ipalib/plugins/host.py:199 ipalib/plugins/service.py:120 +#: ipalib/plugins/cert.py:290 ipalib/plugins/cert.py:580 +#: ipalib/plugins/host.py:206 ipalib/plugins/service.py:125 msgid "Not Before" msgstr "" -#: ipalib/plugins/cert.py:270 ipalib/plugins/cert.py:578 -#: ipalib/plugins/host.py:202 ipalib/plugins/service.py:123 +#: ipalib/plugins/cert.py:293 ipalib/plugins/cert.py:583 +#: ipalib/plugins/host.py:209 ipalib/plugins/service.py:128 msgid "Not After" msgstr "" -#: ipalib/plugins/cert.py:273 ipalib/plugins/cert.py:581 -#: ipalib/plugins/host.py:205 ipalib/plugins/service.py:126 +#: ipalib/plugins/cert.py:296 ipalib/plugins/cert.py:586 +#: ipalib/plugins/host.py:212 ipalib/plugins/service.py:131 msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/cert.py:276 ipalib/plugins/cert.py:584 -#: ipalib/plugins/host.py:208 ipalib/plugins/service.py:129 +#: ipalib/plugins/cert.py:299 ipalib/plugins/cert.py:589 +#: ipalib/plugins/host.py:215 ipalib/plugins/service.py:134 msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/cert.py:279 ipalib/plugins/cert.py:553 -#: ipalib/plugins/cert.py:800 +#: ipalib/plugins/cert.py:302 ipalib/plugins/cert.py:558 +#: ipalib/plugins/cert.py:805 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:282 ipalib/plugins/cert.py:590 -#: ipalib/plugins/cert.py:797 +#: ipalib/plugins/cert.py:305 ipalib/plugins/cert.py:595 +#: ipalib/plugins/cert.py:802 msgid "Serial number (hex)" msgstr "" -#: ipalib/plugins/cert.py:289 ipalib/plugins/misc.py:61 +#: ipalib/plugins/cert.py:312 ipalib/plugins/misc.py:61 msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/cert.py:336 -#, python-format -msgid "" -"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " -"'%(profile_id)s' for certificate issuance." -msgstr "" - -#: ipalib/plugins/cert.py:391 +#: ipalib/plugins/cert.py:398 msgid "The principal for this request doesn't exist." msgstr "" -#: ipalib/plugins/cert.py:399 +#: ipalib/plugins/cert.py:406 msgid "No Common Name was found in subject of request." msgstr "" -#: ipalib/plugins/cert.py:404 +#: ipalib/plugins/cert.py:411 #, python-format msgid "" "hostname in subject of request '%(cn)s' does not match principal hostname " "'%(hostname)s'" msgstr "" -#: ipalib/plugins/cert.py:413 -msgid "DN commonName does not match any of user's email addresses" +#: ipalib/plugins/cert.py:419 +msgid "DN commonName does not match user's login" msgstr "" -#: ipalib/plugins/cert.py:423 +#: ipalib/plugins/cert.py:428 msgid "DN emailAddress does not match any of user's email addresses" msgstr "" -#: ipalib/plugins/cert.py:430 -#, python-format -msgid "extension %s is forbidden" -msgstr "" - #: ipalib/plugins/cert.py:434 #, python-format msgid "" @@ -2975,175 +3030,175 @@ msgid "" "'%s'." msgstr "" -#: ipalib/plugins/cert.py:452 +#: ipalib/plugins/cert.py:454 #, python-format msgid "subject alt name type %s is forbidden for user principals" msgstr "" -#: ipalib/plugins/cert.py:459 +#: ipalib/plugins/cert.py:461 #, python-format msgid "" "The service principal for subject alt name %s in certificate request does " "not exist" msgstr "" -#: ipalib/plugins/cert.py:466 +#: ipalib/plugins/cert.py:468 #, python-format msgid "" "Insufficient privilege to create a certificate with subject alt name '%s'." msgstr "" -#: ipalib/plugins/cert.py:472 +#: ipalib/plugins/cert.py:477 #, python-format msgid "Principal '%s' in subject alt name does not match requested principal" msgstr "" -#: ipalib/plugins/cert.py:480 +#: ipalib/plugins/cert.py:485 msgid "RFC822Name does not match any of user's email addresses" msgstr "" -#: ipalib/plugins/cert.py:486 +#: ipalib/plugins/cert.py:491 #, python-format msgid "subject alt name type %s is forbidden for non-user principals" msgstr "" -#: ipalib/plugins/cert.py:491 +#: ipalib/plugins/cert.py:496 #, python-format msgid "Subject alt name type %s is forbidden" msgstr "" -#: ipalib/plugins/cert.py:526 +#: ipalib/plugins/cert.py:531 msgid "Check the status of a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:530 +#: ipalib/plugins/cert.py:535 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:536 +#: ipalib/plugins/cert.py:541 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:554 +#: ipalib/plugins/cert.py:559 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:560 +#: ipalib/plugins/cert.py:565 msgid "Retrieve an existing certificate." msgstr "" -#: ipalib/plugins/cert.py:587 ipalib/plugins/host.py:211 -#: ipalib/plugins/internal.py:364 ipalib/plugins/internal.py:394 -#: ipalib/plugins/service.py:132 +#: ipalib/plugins/cert.py:592 ipalib/plugins/host.py:218 +#: ipalib/plugins/internal.py:381 ipalib/plugins/internal.py:413 +#: ipalib/plugins/service.py:137 msgid "Revocation reason" msgstr "" -#: ipalib/plugins/cert.py:596 +#: ipalib/plugins/cert.py:601 msgid "Output filename" msgstr "" -#: ipalib/plugins/cert.py:597 +#: ipalib/plugins/cert.py:602 msgid "File to store the certificate in." msgstr "" -#: ipalib/plugins/cert.py:649 +#: ipalib/plugins/cert.py:654 msgid "Revoke a certificate." msgstr "" -#: ipalib/plugins/cert.py:655 +#: ipalib/plugins/cert.py:660 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:663 ipalib/plugins/cert.py:731 +#: ipalib/plugins/cert.py:668 ipalib/plugins/cert.py:736 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:664 ipalib/plugins/cert.py:732 +#: ipalib/plugins/cert.py:669 ipalib/plugins/cert.py:737 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:687 +#: ipalib/plugins/cert.py:692 msgid "7 is not a valid revocation reason" msgstr "" -#: ipalib/plugins/cert.py:697 +#: ipalib/plugins/cert.py:702 msgid "Take a revoked certificate off hold." msgstr "" -#: ipalib/plugins/cert.py:703 +#: ipalib/plugins/cert.py:708 msgid "Unrevoked" msgstr "" -#: ipalib/plugins/cert.py:706 ipalib/plugins/internal.py:275 +#: ipalib/plugins/cert.py:711 ipalib/plugins/internal.py:278 msgid "Error" msgstr "" -#: ipalib/plugins/cert.py:722 +#: ipalib/plugins/cert.py:727 msgid "Search for existing certificates." msgstr "" -#: ipalib/plugins/cert.py:738 +#: ipalib/plugins/cert.py:743 msgid "minimum serial number" msgstr "" -#: ipalib/plugins/cert.py:744 +#: ipalib/plugins/cert.py:749 msgid "maximum serial number" msgstr "" -#: ipalib/plugins/cert.py:750 +#: ipalib/plugins/cert.py:755 msgid "match the common name exactly" msgstr "" -#: ipalib/plugins/cert.py:754 +#: ipalib/plugins/cert.py:759 msgid "Valid not after from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:758 +#: ipalib/plugins/cert.py:763 msgid "Valid not after to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:762 +#: ipalib/plugins/cert.py:767 msgid "Valid not before from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:766 +#: ipalib/plugins/cert.py:771 msgid "Valid not before to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:770 +#: ipalib/plugins/cert.py:775 msgid "Issued on from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:774 +#: ipalib/plugins/cert.py:779 msgid "Issued on to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:778 +#: ipalib/plugins/cert.py:783 msgid "Revoked on from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:782 +#: ipalib/plugins/cert.py:787 msgid "Revoked on to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/cert.py:787 +#: ipalib/plugins/cert.py:792 msgid "Maximum number of certs returned" msgstr "" -#: ipalib/plugins/cert.py:803 ipalib/plugins/internal.py:402 -#: ipalib/plugins/internal.py:520 ipalib/plugins/internal.py:647 -#: ipalib/plugins/internal.py:786 +#: ipalib/plugins/cert.py:808 ipalib/plugins/internal.py:421 +#: ipalib/plugins/internal.py:539 ipalib/plugins/internal.py:666 +#: ipalib/plugins/internal.py:806 msgid "Status" msgstr "" -#: ipalib/plugins/cert.py:808 +#: ipalib/plugins/cert.py:813 #, python-format msgid "%(count)d certificate matched" msgid_plural "%(count)d certificates matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/certprofile.py:20 +#: ipalib/plugins/certprofile.py:24 msgid "" "\n" "Manage Certificate Profiles\n" @@ -3168,7 +3223,7 @@ msgid "" "\n" " Import a profile that will not store issued certificates:\n" " ipa certprofile-import ShortLivedUserCert \\\n" -" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --file UserCert.profile --desc \"User Certificates\" \\\n" " --store=false\n" "\n" " Delete a certificate profile:\n" @@ -3177,98 +3232,140 @@ msgid "" " Show information about a profile:\n" " ipa certprofile-show ShortLivedUserCert\n" "\n" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" " Search for profiles that do not store certificates:\n" " ipa certprofile-find --store=false\n" "\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by FreeIPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" +"\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" +"\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" +"\n" msgstr "" -#: ipalib/plugins/certprofile.py:74 +#: ipalib/plugins/certprofile.py:98 msgid "invalid Profile ID" msgstr "" -#: ipalib/plugins/certprofile.py:85 ipalib/plugins/certprofile.py:96 +#: ipalib/plugins/certprofile.py:109 ipalib/plugins/certprofile.py:119 msgid "Certificate Profile" msgstr "" -#: ipalib/plugins/certprofile.py:86 ipalib/plugins/certprofile.py:95 +#: ipalib/plugins/certprofile.py:110 ipalib/plugins/certprofile.py:118 msgid "Certificate Profiles" msgstr "" -#: ipalib/plugins/certprofile.py:103 +#: ipalib/plugins/certprofile.py:126 msgid "Profile ID for referring to this profile" msgstr "" -#: ipalib/plugins/certprofile.py:108 +#: ipalib/plugins/certprofile.py:131 msgid "Profile description" msgstr "" -#: ipalib/plugins/certprofile.py:109 +#: ipalib/plugins/certprofile.py:132 msgid "Brief description of this profile" msgstr "" -#: ipalib/plugins/certprofile.py:114 +#: ipalib/plugins/certprofile.py:137 msgid "Store issued certificates" msgstr "" -#: ipalib/plugins/certprofile.py:115 +#: ipalib/plugins/certprofile.py:138 msgid "Whether to store certs issued using this profile" msgstr "" -#: ipalib/plugins/certprofile.py:164 +#: ipalib/plugins/certprofile.py:187 msgid "Search for Certificate Profiles." msgstr "" -#: ipalib/plugins/certprofile.py:166 +#: ipalib/plugins/certprofile.py:189 #, python-format msgid "%(count)d profile matched" msgid_plural "%(count)d profiles matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/certprofile.py:176 +#: ipalib/plugins/certprofile.py:199 msgid "Display the properties of a Certificate Profile." msgstr "" -#: ipalib/plugins/certprofile.py:185 -msgid "Import a Certificate Profile." +#: ipalib/plugins/certprofile.py:203 +msgid "Profile configuration" +msgstr "" + +#: ipalib/plugins/certprofile.py:209 +msgid "Write profile configuration to file" msgstr "" -#: ipalib/plugins/certprofile.py:186 +#: ipalib/plugins/certprofile.py:232 #, python-format -msgid "Imported profile \"%(value)s\"" +msgid "Profile configuration stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/certprofile.py:189 -msgid "Filename" +#: ipalib/plugins/certprofile.py:241 +msgid "Import a Certificate Profile." msgstr "" -#: ipalib/plugins/certprofile.py:203 -msgid "Profile ID is not present in profile data" +#: ipalib/plugins/certprofile.py:242 +#, python-format +msgid "Imported profile \"%(value)s\"" msgstr "" -#: ipalib/plugins/certprofile.py:206 +#: ipalib/plugins/certprofile.py:245 +msgid "Filename of a raw profile. The XML format is not supported." +msgstr "" + +#: ipalib/plugins/certprofile.py:263 #, python-format msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" msgstr "" -#: ipalib/plugins/certprofile.py:232 +#: ipalib/plugins/certprofile.py:288 msgid "Delete a Certificate Profile." msgstr "" -#: ipalib/plugins/certprofile.py:233 +#: ipalib/plugins/certprofile.py:289 #, python-format msgid "Deleted profile \"%(value)s\"" msgstr "" -#: ipalib/plugins/certprofile.py:248 +#: ipalib/plugins/certprofile.py:296 +#, python-format +msgid "Predefined profile '%(profile_id)s' cannot be deleted" +msgstr "" + +#: ipalib/plugins/certprofile.py:311 msgid "Modify Certificate Profile configuration." msgstr "" -#: ipalib/plugins/certprofile.py:249 +#: ipalib/plugins/certprofile.py:312 #, python-format msgid "Modified Certificate Profile \"%(value)s\"" msgstr "" +#: ipalib/plugins/certprofile.py:316 +msgid "File containing profile configuration" +msgstr "" + +#: ipalib/plugins/certprofile.py:327 +msgid "Certificate profiles cannot be renamed" +msgstr "" + #: ipalib/plugins/config.py:33 msgid "" "\n" @@ -3319,191 +3416,186 @@ msgid "" "s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" msgstr "" -#: ipalib/plugins/config.py:83 -msgid "searchtimelimit must be -1 or > 1." -msgstr "" - -#: ipalib/plugins/config.py:91 +#: ipalib/plugins/config.py:86 msgid "configuration options" msgstr "" -#: ipalib/plugins/config.py:124 ipalib/plugins/config.py:125 +#: ipalib/plugins/config.py:119 ipalib/plugins/config.py:120 msgid "Configuration" msgstr "" -#: ipalib/plugins/config.py:130 +#: ipalib/plugins/config.py:125 msgid "Maximum username length" msgstr "" -#: ipalib/plugins/config.py:135 +#: ipalib/plugins/config.py:130 msgid "Home directory base" msgstr "" -#: ipalib/plugins/config.py:136 +#: ipalib/plugins/config.py:131 msgid "Default location of home directories" msgstr "" -#: ipalib/plugins/config.py:140 +#: ipalib/plugins/config.py:135 msgid "Default shell" msgstr "" -#: ipalib/plugins/config.py:141 +#: ipalib/plugins/config.py:136 msgid "Default shell for new users" msgstr "" -#: ipalib/plugins/config.py:145 +#: ipalib/plugins/config.py:140 msgid "Default users group" msgstr "" -#: ipalib/plugins/config.py:146 +#: ipalib/plugins/config.py:141 msgid "Default group for new users" msgstr "" -#: ipalib/plugins/config.py:150 ipalib/plugins/config.py:151 +#: ipalib/plugins/config.py:145 ipalib/plugins/config.py:146 msgid "Default e-mail domain" msgstr "" -#: ipalib/plugins/config.py:155 +#: ipalib/plugins/config.py:150 msgid "Search time limit" msgstr "" -#: ipalib/plugins/config.py:156 -msgid "" -"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" +#: ipalib/plugins/config.py:151 +msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" msgstr "" -#: ipalib/plugins/config.py:161 +#: ipalib/plugins/config.py:156 msgid "Search size limit" msgstr "" -#: ipalib/plugins/config.py:162 -msgid "Maximum number of records to search (-1 is unlimited)" +#: ipalib/plugins/config.py:157 +msgid "Maximum number of records to search (-1 or 0 is unlimited)" msgstr "" -#: ipalib/plugins/config.py:167 +#: ipalib/plugins/config.py:162 msgid "User search fields" msgstr "" -#: ipalib/plugins/config.py:168 +#: ipalib/plugins/config.py:163 msgid "A comma-separated list of fields to search in when searching for users" msgstr "" -#: ipalib/plugins/config.py:173 +#: ipalib/plugins/config.py:168 msgid "A comma-separated list of fields to search in when searching for groups" msgstr "" -#: ipalib/plugins/config.py:177 ipalib/plugins/config.py:178 +#: ipalib/plugins/config.py:172 ipalib/plugins/config.py:173 msgid "Enable migration mode" msgstr "" -#: ipalib/plugins/config.py:182 +#: ipalib/plugins/config.py:177 msgid "Certificate Subject base" msgstr "" -#: ipalib/plugins/config.py:183 +#: ipalib/plugins/config.py:178 msgid "Base for certificate subjects (OU=Test,O=Example)" msgstr "" -#: ipalib/plugins/config.py:188 +#: ipalib/plugins/config.py:183 msgid "Default group objectclasses" msgstr "" -#: ipalib/plugins/config.py:189 +#: ipalib/plugins/config.py:184 msgid "Default group objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/config.py:194 +#: ipalib/plugins/config.py:189 msgid "Default user objectclasses" msgstr "" -#: ipalib/plugins/config.py:195 +#: ipalib/plugins/config.py:190 msgid "Default user objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/config.py:200 +#: ipalib/plugins/config.py:195 msgid "Password Expiration Notification (days)" msgstr "" -#: ipalib/plugins/config.py:201 +#: ipalib/plugins/config.py:196 msgid "Number of days's notice of impending password expiration" msgstr "" -#: ipalib/plugins/config.py:206 +#: ipalib/plugins/config.py:201 msgid "Password plugin features" msgstr "" -#: ipalib/plugins/config.py:207 +#: ipalib/plugins/config.py:202 msgid "Extra hashes to generate in password plug-in" msgstr "" -#: ipalib/plugins/config.py:213 +#: ipalib/plugins/config.py:208 msgid "SELinux user map order" msgstr "" -#: ipalib/plugins/config.py:214 +#: ipalib/plugins/config.py:209 msgid "Order in increasing priority of SELinux users, delimited by $" msgstr "" -#: ipalib/plugins/config.py:217 +#: ipalib/plugins/config.py:212 msgid "Default SELinux user" msgstr "" -#: ipalib/plugins/config.py:218 +#: ipalib/plugins/config.py:213 msgid "Default SELinux user when no match is found in SELinux map rule" msgstr "" -#: ipalib/plugins/config.py:222 +#: ipalib/plugins/config.py:217 msgid "Default PAC types" msgstr "" -#: ipalib/plugins/config.py:223 +#: ipalib/plugins/config.py:218 msgid "Default types of PAC supported for services" msgstr "" -#: ipalib/plugins/config.py:229 +#: ipalib/plugins/config.py:224 msgid "Default user authentication types" msgstr "" -#: ipalib/plugins/config.py:230 +#: ipalib/plugins/config.py:225 msgid "Default types of supported user authentication" msgstr "" -#: ipalib/plugins/config.py:243 +#: ipalib/plugins/config.py:238 msgid "Modify configuration options." msgstr "" -#: ipalib/plugins/config.py:252 +#: ipalib/plugins/config.py:247 msgid "The group doesn't exist" msgstr "" -#: ipalib/plugins/config.py:267 +#: ipalib/plugins/config.py:263 #, python-format msgid "attribute \"%s\" not allowed" msgstr "" -#: ipalib/plugins/config.py:275 +#: ipalib/plugins/config.py:281 msgid "May not be empty" msgstr "" -#: ipalib/plugins/config.py:293 +#: ipalib/plugins/config.py:300 #, python-format msgid "%(obj)s default attribute %(attr)s would not be allowed!" msgstr "" -#: ipalib/plugins/config.py:325 +#: ipalib/plugins/config.py:332 msgid "A list of SELinux users delimited by $ expected" msgstr "" -#: ipalib/plugins/config.py:329 +#: ipalib/plugins/config.py:336 #, python-format msgid "SELinux user '%(user)s' is not valid: %(error)s" msgstr "" -#: ipalib/plugins/config.py:341 +#: ipalib/plugins/config.py:348 msgid "SELinux user map default user not in order list" msgstr "" -#: ipalib/plugins/config.py:349 +#: ipalib/plugins/config.py:356 msgid "Show the current configuration." msgstr "" @@ -3554,7 +3646,7 @@ msgid "Delegation" msgstr "" #: ipalib/plugins/delegation.py:81 ipalib/plugins/delegation.py:82 -#: ipalib/plugins/servicedelegation.py:161 +#: ipalib/plugins/servicedelegation.py:166 msgid "Delegation name" msgstr "" @@ -3616,19 +3708,19 @@ msgstr[1] "" msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:56 +#: ipalib/plugins/dns.py:62 msgid "" "\n" "Domain Name System (DNS)\n" msgstr "" -#: ipalib/plugins/dns.py:58 +#: ipalib/plugins/dns.py:64 msgid "" "\n" "Manage DNS zone and resource records.\n" msgstr "" -#: ipalib/plugins/dns.py:60 +#: ipalib/plugins/dns.py:66 msgid "" "\n" "SUPPORTED ZONE TYPES\n" @@ -3639,13 +3731,13 @@ msgid "" " (a set of DNS servers).\n" msgstr "" -#: ipalib/plugins/dns.py:66 +#: ipalib/plugins/dns.py:72 msgid "" "\n" "USING STRUCTURED PER-TYPE OPTIONS\n" msgstr "" -#: ipalib/plugins/dns.py:68 +#: ipalib/plugins/dns.py:74 msgid "" "\n" "There are many structured DNS RR types where DNS data stored in LDAP server\n" @@ -3655,7 +3747,7 @@ msgid "" "minutes, seconds of latitude and longitude, altitude or precision).\n" msgstr "" -#: ipalib/plugins/dns.py:74 +#: ipalib/plugins/dns.py:80 msgid "" "\n" "It may be difficult to manipulate such DNS records without making a mistake\n" @@ -3670,7 +3762,7 @@ msgid "" "--mx-preference and --mx-exchanger.\n" msgstr "" -#: ipalib/plugins/dns.py:82 +#: ipalib/plugins/dns.py:88 msgid "" "\n" "When adding a record, either RR specific options or standard option for a " @@ -3685,28 +3777,28 @@ msgid "" "ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" msgstr "" -#: ipalib/plugins/dns.py:91 +#: ipalib/plugins/dns.py:97 msgid "" "\n" "\n" "EXAMPLES:\n" msgstr "" -#: ipalib/plugins/dns.py:94 +#: ipalib/plugins/dns.py:100 msgid "" "\n" " Add new zone:\n" " ipa dnszone-add example.com --admin-email=admin@example.com\n" msgstr "" -#: ipalib/plugins/dns.py:97 +#: ipalib/plugins/dns.py:103 msgid "" "\n" " Add system permission that can be used for per-zone privilege delegation:\n" " ipa dnszone-add-permission example.com\n" msgstr "" -#: ipalib/plugins/dns.py:100 +#: ipalib/plugins/dns.py:106 msgid "" "\n" " Modify the zone to allow dynamic updates for hosts own records in realm " @@ -3714,7 +3806,7 @@ msgid "" " ipa dnszone-mod example.com --dynamic-update=TRUE\n" msgstr "" -#: ipalib/plugins/dns.py:103 +#: ipalib/plugins/dns.py:109 msgid "" "\n" " This is the equivalent of:\n" @@ -3723,42 +3815,42 @@ msgid "" "krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" msgstr "" -#: ipalib/plugins/dns.py:107 +#: ipalib/plugins/dns.py:113 msgid "" "\n" " Modify the zone to allow zone transfers for local network only:\n" " ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24\n" msgstr "" -#: ipalib/plugins/dns.py:110 +#: ipalib/plugins/dns.py:116 msgid "" "\n" " Add new reverse zone specified by network IP address:\n" " ipa dnszone-add --name-from-ip=192.0.2.0/24\n" msgstr "" -#: ipalib/plugins/dns.py:113 +#: ipalib/plugins/dns.py:119 msgid "" "\n" " Add second nameserver for example.com:\n" " ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:116 +#: ipalib/plugins/dns.py:122 msgid "" "\n" " Add a mail server for example.com:\n" " ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" msgstr "" -#: ipalib/plugins/dns.py:119 +#: ipalib/plugins/dns.py:125 msgid "" "\n" " Add another record using MX record specific options:\n" " ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2\n" msgstr "" -#: ipalib/plugins/dns.py:122 +#: ipalib/plugins/dns.py:128 msgid "" "\n" " Add another record using interactive mode (started when dnsrecord-add, " @@ -3776,14 +3868,14 @@ msgid "" " NS record: nameserver.example.com., nameserver2.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:135 +#: ipalib/plugins/dns.py:141 msgid "" "\n" " Delete previously added nameserver from example.com:\n" " ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:138 +#: ipalib/plugins/dns.py:144 msgid "" "\n" " Add LOC record for example.com:\n" @@ -3791,7 +3883,7 @@ msgid "" "227.64m\"\n" msgstr "" -#: ipalib/plugins/dns.py:141 +#: ipalib/plugins/dns.py:147 msgid "" "\n" " Add new A record for www.example.com. Create a reverse record in " @@ -3802,14 +3894,14 @@ msgid "" " ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" msgstr "" -#: ipalib/plugins/dns.py:146 +#: ipalib/plugins/dns.py:152 msgid "" "\n" " Add new PTR record for www.example.com\n" " ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:149 +#: ipalib/plugins/dns.py:155 msgid "" "\n" " Add new SRV records for LDAP servers. Three quarters of the requests\n" @@ -3823,7 +3915,7 @@ msgid "" "example.com\"\n" msgstr "" -#: ipalib/plugins/dns.py:156 +#: ipalib/plugins/dns.py:162 msgid "" "\n" " The interactive mode can be used for easy modification:\n" @@ -3847,14 +3939,14 @@ msgid "" "389 slow.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:173 +#: ipalib/plugins/dns.py:179 msgid "" "\n" " After this modification, three fifths of the requests should go to\n" " fast.example.com and two fifths to slow.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:176 +#: ipalib/plugins/dns.py:182 msgid "" "\n" " An example of the interactive mode for dnsrecord-del command:\n" @@ -3872,42 +3964,42 @@ msgid "" "deleted)\n" msgstr "" -#: ipalib/plugins/dns.py:189 +#: ipalib/plugins/dns.py:195 msgid "" "\n" " Show zone example.com:\n" " ipa dnszone-show example.com\n" msgstr "" -#: ipalib/plugins/dns.py:192 +#: ipalib/plugins/dns.py:198 msgid "" "\n" " Find zone with \"example\" in its domain name:\n" " ipa dnszone-find example\n" msgstr "" -#: ipalib/plugins/dns.py:195 +#: ipalib/plugins/dns.py:201 msgid "" "\n" " Find records for resources with \"www\" in their name in zone example.com:\n" " ipa dnsrecord-find example.com www\n" msgstr "" -#: ipalib/plugins/dns.py:198 +#: ipalib/plugins/dns.py:204 msgid "" "\n" " Find A records with value 192.0.2.2 in zone example.com\n" " ipa dnsrecord-find example.com --a-rec=192.0.2.2\n" msgstr "" -#: ipalib/plugins/dns.py:201 +#: ipalib/plugins/dns.py:207 msgid "" "\n" " Show records for resource www in zone example.com\n" " ipa dnsrecord-show example.com www\n" msgstr "" -#: ipalib/plugins/dns.py:204 +#: ipalib/plugins/dns.py:210 msgid "" "\n" " Delegate zone sub.example to another nameserver:\n" @@ -3915,14 +4007,14 @@ msgid "" " ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:208 +#: ipalib/plugins/dns.py:214 msgid "" "\n" " Delete zone example.com with all resource records:\n" " ipa dnszone-del example.com\n" msgstr "" -#: ipalib/plugins/dns.py:211 +#: ipalib/plugins/dns.py:217 msgid "" "\n" " If a global forwarder is configured, all queries for which this server is " @@ -3932,7 +4024,7 @@ msgid "" " Global forwarding configuration can be overridden per-zone.\n" msgstr "" -#: ipalib/plugins/dns.py:215 +#: ipalib/plugins/dns.py:221 msgid "" "\n" " Semantics of forwarding in IPA matches BIND semantics and depends on the " @@ -3949,7 +4041,7 @@ msgid "" " forwarders.\n" msgstr "" -#: ipalib/plugins/dns.py:226 +#: ipalib/plugins/dns.py:232 msgid "" "\n" " Semantics of the --forwarder-policy option:\n" @@ -3960,14 +4052,14 @@ msgid "" " return failure.\n" msgstr "" -#: ipalib/plugins/dns.py:233 +#: ipalib/plugins/dns.py:239 msgid "" "\n" " Disable global forwarding for given sub-tree:\n" " ipa dnszone-mod example.com --forward-policy=none\n" msgstr "" -#: ipalib/plugins/dns.py:236 +#: ipalib/plugins/dns.py:242 msgid "" "\n" " This configuration forwards all queries for names outside the example.com\n" @@ -3976,7 +4068,7 @@ msgid "" "etc.).\n" msgstr "" -#: ipalib/plugins/dns.py:240 +#: ipalib/plugins/dns.py:246 msgid "" "\n" " Forward all requests for the zone external.example.com to another " @@ -3988,35 +4080,35 @@ msgid "" " --forwarder=203.0.113.1\n" msgstr "" -#: ipalib/plugins/dns.py:246 +#: ipalib/plugins/dns.py:252 msgid "" "\n" " Change forward-policy for external.example.com:\n" " ipa dnsforwardzone-mod external.example.com --forward-policy=only\n" msgstr "" -#: ipalib/plugins/dns.py:249 +#: ipalib/plugins/dns.py:255 msgid "" "\n" " Show forward zone external.example.com:\n" " ipa dnsforwardzone-show external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:252 +#: ipalib/plugins/dns.py:258 msgid "" "\n" " List all forward zones:\n" " ipa dnsforwardzone-find\n" msgstr "" -#: ipalib/plugins/dns.py:255 +#: ipalib/plugins/dns.py:261 msgid "" "\n" " Delete forward zone external.example.com:\n" " ipa dnsforwardzone-del external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:258 +#: ipalib/plugins/dns.py:264 msgid "" "\n" " Resolve a host name to see if it exists (will add default IPA domain\n" @@ -4025,14 +4117,14 @@ msgid "" " ipa dns-resolve www\n" msgstr "" -#: ipalib/plugins/dns.py:263 +#: ipalib/plugins/dns.py:269 msgid "" "\n" "\n" "GLOBAL DNS CONFIGURATION\n" msgstr "" -#: ipalib/plugins/dns.py:266 +#: ipalib/plugins/dns.py:272 msgid "" "\n" "DNS configuration passed to command line install script is stored in a " @@ -4043,273 +4135,274 @@ msgid "" "server:\n" msgstr "" -#: ipalib/plugins/dns.py:271 +#: ipalib/plugins/dns.py:277 msgid "" "\n" " Show global DNS configuration:\n" " ipa dnsconfig-show\n" msgstr "" -#: ipalib/plugins/dns.py:274 +#: ipalib/plugins/dns.py:280 msgid "" "\n" " Modify global DNS configuration and set a list of global forwarders:\n" " ipa dnsconfig-mod --forwarder=203.0.113.113\n" msgstr "" -#: ipalib/plugins/dns.py:314 +#: ipalib/plugins/dns.py:319 msgid "Permission value" msgstr "" -#: ipalib/plugins/dns.py:360 +#: ipalib/plugins/dns.py:365 #, python-format msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" msgstr "" -#: ipalib/plugins/dns.py:363 +#: ipalib/plugins/dns.py:368 msgid "invalid IP address format" msgstr "" -#: ipalib/plugins/dns.py:376 +#: ipalib/plugins/dns.py:381 msgid "invalid IP network format" msgstr "" -#: ipalib/plugins/dns.py:385 +#: ipalib/plugins/dns.py:390 msgid "each ACL element must be terminated with a semicolon" msgstr "" -#: ipalib/plugins/dns.py:402 +#: ipalib/plugins/dns.py:407 msgid "invalid address format" msgstr "" -#: ipalib/plugins/dns.py:452 +#: ipalib/plugins/dns.py:457 #, python-format msgid "%(port)s is not a valid port" msgstr "" -#: ipalib/plugins/dns.py:463 +#: ipalib/plugins/dns.py:468 msgid "" "expected format: <0-255> <0-255> <0-65535> even-" "length_hexadecimal_digits_or_hyphen" msgstr "" -#: ipalib/plugins/dns.py:472 +#: ipalib/plugins/dns.py:477 msgid "algorithm value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:475 +#: ipalib/plugins/dns.py:480 msgid "flags value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:478 +#: ipalib/plugins/dns.py:483 msgid "iterations value: allowed interval 0-65535" msgstr "" -#: ipalib/plugins/dns.py:486 +#: ipalib/plugins/dns.py:491 #, python-format msgid "salt value: %(err)s" msgstr "" -#: ipalib/plugins/dns.py:493 +#: ipalib/plugins/dns.py:498 msgid "invalid domain-name: not fully qualified" msgstr "" -#: ipalib/plugins/dns.py:502 +#: ipalib/plugins/dns.py:507 msgid "should not be a wildcard domain name (RFC 4592 section 4)" msgstr "" -#: ipalib/plugins/dns.py:556 +#: ipalib/plugins/dns.py:550 #, python-format -msgid "DNS reverse zone for IP address %(addr)s not found" +msgid "" +"DNS reverse zone %(revzone)s for IP address %(addr)s is not managed by this " +"server" msgstr "" -#: ipalib/plugins/dns.py:571 +#: ipalib/plugins/dns.py:567 #, python-format msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/dns.py:585 +#: ipalib/plugins/dns.py:581 #, python-format msgid "IP address %(ip)s is already assigned in domain %(domain)s." msgstr "" -#: ipalib/plugins/dns.py:598 +#: ipalib/plugins/dns.py:591 #, python-format msgid "" "Reverse record for IP address %(ip)s already exists in reverse zone %(zone)s." msgstr "" -#: ipalib/plugins/dns.py:675 +#: ipalib/plugins/dns.py:665 #, python-format msgid "%s record" msgstr "" -#: ipalib/plugins/dns.py:677 +#: ipalib/plugins/dns.py:667 #, python-format msgid "Raw %s records" msgstr "" -#: ipalib/plugins/dns.py:678 +#: ipalib/plugins/dns.py:668 #, python-format msgid "%s Record" msgstr "" -#: ipalib/plugins/dns.py:679 +#: ipalib/plugins/dns.py:669 #, python-format msgid "(see RFC %s for details)" msgstr "" -#: ipalib/plugins/dns.py:744 +#: ipalib/plugins/dns.py:734 #, python-format msgid "'%s' is a required part of DNS record" msgstr "" -#: ipalib/plugins/dns.py:751 +#: ipalib/plugins/dns.py:741 msgid "Invalid number of parts!" msgstr "" -#: ipalib/plugins/dns.py:806 +#: ipalib/plugins/dns.py:796 #, python-format msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" msgstr "" -#: ipalib/plugins/dns.py:822 +#: ipalib/plugins/dns.py:812 #, python-format msgid "format must be specified as \"%(format)s\" %(rfcs)s" msgstr "" -#: ipalib/plugins/dns.py:947 +#: ipalib/plugins/dns.py:937 msgid "Create reverse" msgstr "" -#: ipalib/plugins/dns.py:948 +#: ipalib/plugins/dns.py:938 msgid "Create reverse record for this IP Address" msgstr "" -#: ipalib/plugins/dns.py:983 +#: ipalib/plugins/dns.py:973 #, python-format msgid "Cannot create reverse record for \"%(value)s\": %(exc)s" msgstr "" -#: ipalib/plugins/dns.py:1003 ipalib/plugins/dns.py:1026 -#: ipalib/plugins/host.py:603 +#: ipalib/plugins/dns.py:993 ipalib/plugins/dns.py:1016 +#: ipalib/plugins/host.py:610 msgid "IP Address" msgstr "" -#: ipalib/plugins/dns.py:1012 ipalib/plugins/dns.py:1546 +#: ipalib/plugins/dns.py:1002 ipalib/plugins/dns.py:1538 msgid "Record data" msgstr "" -#: ipalib/plugins/dns.py:1035 +#: ipalib/plugins/dns.py:1025 msgid "Subtype" msgstr "" -#: ipalib/plugins/dns.py:1040 ipalib/plugins/dns.py:1077 -#: ipalib/plugins/dns.py:1312 ipalib/plugins/dns.py:1370 -#: ipalib/plugins/dns.py:4136 +#: ipalib/plugins/dns.py:1030 ipalib/plugins/dns.py:1067 +#: ipalib/plugins/dns.py:1316 ipalib/plugins/dns.py:1377 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:1053 +#: ipalib/plugins/dns.py:1043 msgid "Certificate Type" msgstr "" -#: ipalib/plugins/dns.py:1058 ipalib/plugins/dns.py:1104 +#: ipalib/plugins/dns.py:1048 ipalib/plugins/dns.py:1091 msgid "Key Tag" msgstr "" -#: ipalib/plugins/dns.py:1063 ipalib/plugins/dns.py:1109 -#: ipalib/plugins/dns.py:1431 ipalib/plugins/otptoken.py:222 +#: ipalib/plugins/dns.py:1053 ipalib/plugins/dns.py:1096 +#: ipalib/plugins/dns.py:1438 ipalib/plugins/otptoken.py:226 msgid "Algorithm" msgstr "" -#: ipalib/plugins/dns.py:1068 +#: ipalib/plugins/dns.py:1058 msgid "Certificate/CRL" msgstr "" -#: ipalib/plugins/dns.py:1078 +#: ipalib/plugins/dns.py:1068 msgid "A hostname which this alias hostname points to" msgstr "" -#: ipalib/plugins/dns.py:1091 ipalib/plugins/dns.py:1399 -#: ipalib/plugins/internal.py:594 +#: ipalib/plugins/dns.py:1081 ipalib/plugins/dns.py:1406 +#: ipalib/plugins/internal.py:613 msgid "Target" msgstr "" -#: ipalib/plugins/dns.py:1114 +#: ipalib/plugins/dns.py:1101 msgid "Digest Type" msgstr "" -#: ipalib/plugins/dns.py:1119 +#: ipalib/plugins/dns.py:1106 msgid "Digest" msgstr "" -#: ipalib/plugins/dns.py:1150 ipalib/plugins/dns.py:1295 -#: ipalib/plugins/dns.py:1344 +#: ipalib/plugins/dns.py:1142 ipalib/plugins/dns.py:1299 +#: ipalib/plugins/dns.py:1345 msgid "Preference" msgstr "" -#: ipalib/plugins/dns.py:1151 ipalib/plugins/dns.py:1296 +#: ipalib/plugins/dns.py:1143 ipalib/plugins/dns.py:1300 msgid "Preference given to this exchanger. Lower values are more preferred" msgstr "" -#: ipalib/plugins/dns.py:1156 ipalib/plugins/dns.py:1301 +#: ipalib/plugins/dns.py:1148 ipalib/plugins/dns.py:1305 msgid "Exchanger" msgstr "" -#: ipalib/plugins/dns.py:1157 +#: ipalib/plugins/dns.py:1149 msgid "A host willing to act as a key exchanger" msgstr "" -#: ipalib/plugins/dns.py:1166 +#: ipalib/plugins/dns.py:1158 msgid "Degrees Latitude" msgstr "" -#: ipalib/plugins/dns.py:1171 +#: ipalib/plugins/dns.py:1163 msgid "Minutes Latitude" msgstr "" -#: ipalib/plugins/dns.py:1176 +#: ipalib/plugins/dns.py:1168 msgid "Seconds Latitude" msgstr "" -#: ipalib/plugins/dns.py:1182 +#: ipalib/plugins/dns.py:1174 msgid "Direction Latitude" msgstr "" -#: ipalib/plugins/dns.py:1186 +#: ipalib/plugins/dns.py:1178 msgid "Degrees Longitude" msgstr "" -#: ipalib/plugins/dns.py:1191 +#: ipalib/plugins/dns.py:1183 msgid "Minutes Longitude" msgstr "" -#: ipalib/plugins/dns.py:1196 +#: ipalib/plugins/dns.py:1188 msgid "Seconds Longitude" msgstr "" -#: ipalib/plugins/dns.py:1202 +#: ipalib/plugins/dns.py:1194 msgid "Direction Longitude" msgstr "" -#: ipalib/plugins/dns.py:1206 +#: ipalib/plugins/dns.py:1198 msgid "Altitude" msgstr "" -#: ipalib/plugins/dns.py:1212 +#: ipalib/plugins/dns.py:1204 msgid "Size" msgstr "" -#: ipalib/plugins/dns.py:1218 +#: ipalib/plugins/dns.py:1210 msgid "Horizontal Precision" msgstr "" -#: ipalib/plugins/dns.py:1224 +#: ipalib/plugins/dns.py:1216 msgid "Vertical Precision" msgstr "" -#: ipalib/plugins/dns.py:1231 +#: ipalib/plugins/dns.py:1223 msgid "" "format must be specified as\n" " \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] " @@ -4324,566 +4417,557 @@ msgid "" " See RFC 1876 for details" msgstr "" -#: ipalib/plugins/dns.py:1285 +#: ipalib/plugins/dns.py:1277 #, python-format msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "" -#: ipalib/plugins/dns.py:1302 +#: ipalib/plugins/dns.py:1306 msgid "A host willing to act as a mail exchanger" msgstr "" -#: ipalib/plugins/dns.py:1331 +#: ipalib/plugins/dns.py:1332 msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" msgstr "" -#: ipalib/plugins/dns.py:1339 +#: ipalib/plugins/dns.py:1340 msgid "Order" msgstr "" -#: ipalib/plugins/dns.py:1350 +#: ipalib/plugins/dns.py:1351 msgid "Flags" msgstr "" -#: ipalib/plugins/dns.py:1354 ipalib/plugins/hbactest.py:269 -#: ipalib/plugins/internal.py:646 ipalib/plugins/service.py:441 +#: ipalib/plugins/dns.py:1355 ipalib/plugins/hbactest.py:272 +#: ipalib/plugins/internal.py:665 ipalib/plugins/service.py:471 msgid "Service" msgstr "" -#: ipalib/plugins/dns.py:1357 +#: ipalib/plugins/dns.py:1358 msgid "Regular Expression" msgstr "" -#: ipalib/plugins/dns.py:1360 +#: ipalib/plugins/dns.py:1361 msgid "Replacement" msgstr "" -#: ipalib/plugins/dns.py:1371 +#: ipalib/plugins/dns.py:1378 msgid "The hostname this reverse record points to" msgstr "" -#: ipalib/plugins/dns.py:1384 ipalib/plugins/pwpolicy.py:351 +#: ipalib/plugins/dns.py:1391 ipalib/plugins/pwpolicy.py:356 msgid "Priority" msgstr "" -#: ipalib/plugins/dns.py:1389 +#: ipalib/plugins/dns.py:1396 msgid "Weight" msgstr "" -#: ipalib/plugins/dns.py:1394 +#: ipalib/plugins/dns.py:1401 msgid "Port" msgstr "" -#: ipalib/plugins/dns.py:1400 +#: ipalib/plugins/dns.py:1407 msgid "" "The domain name of the target host or '.' if the service is decidedly not " "available at this domain" msgstr "" -#: ipalib/plugins/dns.py:1409 +#: ipalib/plugins/dns.py:1416 msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" msgstr "" -#: ipalib/plugins/dns.py:1436 +#: ipalib/plugins/dns.py:1443 msgid "Fingerprint Type" msgstr "" -#: ipalib/plugins/dns.py:1441 +#: ipalib/plugins/dns.py:1448 msgid "Fingerprint" msgstr "" -#: ipalib/plugins/dns.py:1462 +#: ipalib/plugins/dns.py:1465 msgid "Certificate Usage" msgstr "" -#: ipalib/plugins/dns.py:1467 +#: ipalib/plugins/dns.py:1470 msgid "Selector" msgstr "" -#: ipalib/plugins/dns.py:1472 +#: ipalib/plugins/dns.py:1475 msgid "Matching Type" msgstr "" -#: ipalib/plugins/dns.py:1477 +#: ipalib/plugins/dns.py:1480 msgid "Certificate Association Data" msgstr "" -#: ipalib/plugins/dns.py:1493 +#: ipalib/plugins/dns.py:1490 msgid "Text Data" msgstr "" -#: ipalib/plugins/dns.py:1540 +#: ipalib/plugins/dns.py:1532 msgid "Records" msgstr "" -#: ipalib/plugins/dns.py:1543 +#: ipalib/plugins/dns.py:1535 msgid "Record type" msgstr "" -#: ipalib/plugins/dns.py:1578 +#: ipalib/plugins/dns.py:1568 #, python-format msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/dns.py:1597 +#: ipalib/plugins/dns.py:1614 msgid "Managedby permission" msgstr "" -#: ipalib/plugins/dns.py:1986 +#: ipalib/plugins/dns.py:2003 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:1987 +#: ipalib/plugins/dns.py:2004 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:1993 +#: ipalib/plugins/dns.py:2010 msgid "Reverse zone IP network" msgstr "" -#: ipalib/plugins/dns.py:1994 +#: ipalib/plugins/dns.py:2011 msgid "IP network to create reverse zone name from" msgstr "" -#: ipalib/plugins/dns.py:1999 +#: ipalib/plugins/dns.py:2016 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:2000 +#: ipalib/plugins/dns.py:2017 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:2007 +#: ipalib/plugins/dns.py:2024 msgid "Zone forwarders" msgstr "" -#: ipalib/plugins/dns.py:2008 +#: ipalib/plugins/dns.py:2025 msgid "" "Per-zone forwarders. A custom port can be specified for each forwarder using " "a standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/dns.py:2014 ipalib/plugins/dns.py:4205 +#: ipalib/plugins/dns.py:2031 ipalib/plugins/dns.py:4266 msgid "Forward policy" msgstr "" -#: ipalib/plugins/dns.py:2015 +#: ipalib/plugins/dns.py:2032 msgid "" "Per-zone conditional forwarding policy. Set to \"none\" to disable " "forwarding to global forwarder for this zone. In that case, conditional zone " "forwarders are disregarded." msgstr "" -#: ipalib/plugins/dns.py:2105 +#: ipalib/plugins/dns.py:2042 ipalib/plugins/dns.py:2201 +#: ipalib/plugins/dns.py:3119 ipalib/plugins/dns.py:4314 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:2116 +#: ipalib/plugins/dns.py:2135 msgid "Only one zone type is allowed per zone name" msgstr "" -#: ipalib/plugins/dns.py:2151 ipalib/plugins/dns.py:2835 +#: ipalib/plugins/dns.py:2170 ipalib/plugins/dns.py:2862 msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/dns.py:2248 +#: ipalib/plugins/dns.py:2278 #, python-format msgid "Added system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2276 +#: ipalib/plugins/dns.py:2307 #, python-format msgid "permission \"%(value)s\" already exists" msgstr "" -#: ipalib/plugins/dns.py:2304 +#: ipalib/plugins/dns.py:2335 #, python-format msgid "Removed system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2340 +#: ipalib/plugins/dns.py:2371 msgid "DNS zone" msgstr "" -#: ipalib/plugins/dns.py:2341 +#: ipalib/plugins/dns.py:2372 msgid "DNS zones" msgstr "" -#: ipalib/plugins/dns.py:2348 +#: ipalib/plugins/dns.py:2379 msgid "DNS Zones" msgstr "" -#: ipalib/plugins/dns.py:2349 +#: ipalib/plugins/dns.py:2380 msgid "DNS Zone" msgstr "" -#: ipalib/plugins/dns.py:2354 +#: ipalib/plugins/dns.py:2385 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:2355 +#: ipalib/plugins/dns.py:2386 msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/dns.py:2361 ipalib/plugins/dns.py:2362 +#: ipalib/plugins/dns.py:2392 ipalib/plugins/dns.py:2393 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:2369 +#: ipalib/plugins/dns.py:2400 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:2370 +#: ipalib/plugins/dns.py:2401 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:2378 +#: ipalib/plugins/dns.py:2409 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:2379 +#: ipalib/plugins/dns.py:2410 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:2387 +#: ipalib/plugins/dns.py:2418 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:2388 +#: ipalib/plugins/dns.py:2419 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:2396 +#: ipalib/plugins/dns.py:2427 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:2397 +#: ipalib/plugins/dns.py:2428 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:2405 +#: ipalib/plugins/dns.py:2436 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:2406 +#: ipalib/plugins/dns.py:2437 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:2414 ipalib/plugins/dns.py:2949 -#: ipalib/plugins/dns.py:2950 +#: ipalib/plugins/dns.py:2445 ipalib/plugins/dns.py:2977 +#: ipalib/plugins/dns.py:2978 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:2415 +#: ipalib/plugins/dns.py:2446 msgid "Time to live for records at zone apex" msgstr "" -#: ipalib/plugins/dns.py:2427 ipalib/plugins/dns.py:2428 +#: ipalib/plugins/dns.py:2458 ipalib/plugins/dns.py:2459 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:2434 +#: ipalib/plugins/dns.py:2465 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:2435 +#: ipalib/plugins/dns.py:2466 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:2444 +#: ipalib/plugins/dns.py:2475 msgid "Allow query" msgstr "" -#: ipalib/plugins/dns.py:2445 +#: ipalib/plugins/dns.py:2476 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "issue queries" msgstr "" -#: ipalib/plugins/dns.py:2453 +#: ipalib/plugins/dns.py:2484 msgid "Allow transfer" msgstr "" -#: ipalib/plugins/dns.py:2454 +#: ipalib/plugins/dns.py:2485 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "transfer the zone" msgstr "" -#: ipalib/plugins/dns.py:2460 ipalib/plugins/dns.py:4212 +#: ipalib/plugins/dns.py:2491 ipalib/plugins/dns.py:4273 msgid "Allow PTR sync" msgstr "" -#: ipalib/plugins/dns.py:2461 +#: ipalib/plugins/dns.py:2492 msgid "" "Allow synchronization of forward (A, AAAA) and reverse (PTR) records in the " "zone" msgstr "" -#: ipalib/plugins/dns.py:2466 +#: ipalib/plugins/dns.py:2497 msgid "Allow in-line DNSSEC signing" msgstr "" -#: ipalib/plugins/dns.py:2467 +#: ipalib/plugins/dns.py:2498 msgid "Allow inline DNSSEC signing of records in the zone" msgstr "" -#: ipalib/plugins/dns.py:2472 +#: ipalib/plugins/dns.py:2503 msgid "NSEC3PARAM record" msgstr "" -#: ipalib/plugins/dns.py:2473 +#: ipalib/plugins/dns.py:2504 msgid "" "NSEC3PARAM record for zone in format: hash_algorithm flags iterations salt" msgstr "" -#: ipalib/plugins/dns.py:2626 -msgid "Visit 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." -msgstr "" - -#: ipalib/plugins/dns.py:2631 -msgid "" -"If you encounter any problems please report them and restart 'named' service " -"on affected IPA server." -msgstr "" - -#: ipalib/plugins/dns.py:2641 +#: ipalib/plugins/dns.py:2658 msgid "setting Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:2642 +#: ipalib/plugins/dns.py:2659 msgid "It is used only for setting the SOA MNAME attribute." msgstr "" -#: ipalib/plugins/dns.py:2644 +#: ipalib/plugins/dns.py:2661 msgid "NS record(s) can be edited in zone apex - '@'. " msgstr "" -#: ipalib/plugins/dns.py:2666 +#: ipalib/plugins/dns.py:2692 msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2670 ipalib/plugins/dns.py:2797 -#: ipalib/plugins/dns.py:3504 ipalib/plugins/host.py:595 -#: ipalib/plugins/permission.py:1041 ipalib/plugins/realmdomains.py:124 -#: ipalib/plugins/service.py:497 +#: ipalib/plugins/dns.py:2696 ipalib/plugins/dns.py:2824 +#: ipalib/plugins/dns.py:3553 ipalib/plugins/host.py:602 +#: ipalib/plugins/permission.py:1047 ipalib/plugins/realmdomains.py:129 +#: ipalib/plugins/service.py:527 msgid "Force" msgstr "" -#: ipalib/plugins/dns.py:2671 +#: ipalib/plugins/dns.py:2697 msgid "Force DNS zone creation even if nameserver is not resolvable." msgstr "" -#: ipalib/plugins/dns.py:2706 +#: ipalib/plugins/dns.py:2733 msgid "Nameserver for reverse zone cannot be a relative DNS name" msgstr "" -#: ipalib/plugins/dns.py:2760 +#: ipalib/plugins/dns.py:2787 msgid "Delete DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2762 +#: ipalib/plugins/dns.py:2789 #, python-format msgid "Deleted DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2793 +#: ipalib/plugins/dns.py:2820 msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2798 +#: ipalib/plugins/dns.py:2825 msgid "Force nameserver change even if nameserver not in DNS" msgstr "" -#: ipalib/plugins/dns.py:2815 +#: ipalib/plugins/dns.py:2842 msgid "is required" msgstr "" -#: ipalib/plugins/dns.py:2839 +#: ipalib/plugins/dns.py:2866 msgid "Forward zones only" msgstr "" -#: ipalib/plugins/dns.py:2841 +#: ipalib/plugins/dns.py:2868 msgid "Search for forward zones only" msgstr "" -#: ipalib/plugins/dns.py:2876 +#: ipalib/plugins/dns.py:2903 msgid "Display information about a DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2893 +#: ipalib/plugins/dns.py:2921 msgid "Disable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:2894 +#: ipalib/plugins/dns.py:2922 #, python-format msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2904 +#: ipalib/plugins/dns.py:2932 msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:2905 +#: ipalib/plugins/dns.py:2933 #, python-format msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2915 +#: ipalib/plugins/dns.py:2943 msgid "Add a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:2920 +#: ipalib/plugins/dns.py:2948 msgid "Remove a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:2930 +#: ipalib/plugins/dns.py:2958 msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:2931 +#: ipalib/plugins/dns.py:2959 msgid "DNS resource records" msgstr "" -#: ipalib/plugins/dns.py:2937 +#: ipalib/plugins/dns.py:2965 msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/dns.py:2938 +#: ipalib/plugins/dns.py:2966 msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/dns.py:2943 ipalib/plugins/dns.py:2944 +#: ipalib/plugins/dns.py:2971 ipalib/plugins/dns.py:2972 msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:2961 +#: ipalib/plugins/dns.py:2989 msgid "Structured" msgstr "" -#: ipalib/plugins/dns.py:2962 +#: ipalib/plugins/dns.py:2990 msgid "Parse all raw DNS records and return them in a structured way" msgstr "" -#: ipalib/plugins/dns.py:2971 +#: ipalib/plugins/dns.py:2999 msgid "DS record must not be in zone apex (RFC 4035 section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:2988 +#: ipalib/plugins/dns.py:3016 msgid "" "out-of-zone data: record name must be a subdomain of the zone or a relative " "name" msgstr "" -#: ipalib/plugins/dns.py:2999 +#: ipalib/plugins/dns.py:3027 #, python-format msgid "" "owner of %(types)s records should not be a wildcard domain name (RFC 4592 " "section 4)" msgstr "" -#: ipalib/plugins/dns.py:3028 +#: ipalib/plugins/dns.py:3056 #, 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:3043 +#: ipalib/plugins/dns.py:3071 #, python-format msgid "" "Reverse zone %(name)s requires exactly %(count)d IP address components, " "%(user_count)d given" msgstr "" -#: ipalib/plugins/dns.py:3084 +#: ipalib/plugins/dns.py:3112 msgid "only master zones can contain records" msgstr "" -#: ipalib/plugins/dns.py:3254 +#: ipalib/plugins/dns.py:3285 msgid "only one CNAME record is allowed per name (RFC 2136, section 1.1.5)" msgstr "" -#: ipalib/plugins/dns.py:3260 +#: ipalib/plugins/dns.py:3291 msgid "" "CNAME record is not allowed to coexist with any other record (RFC 1034, " "section 3.6.2)" msgstr "" -#: ipalib/plugins/dns.py:3268 +#: ipalib/plugins/dns.py:3299 msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:3284 +#: ipalib/plugins/dns.py:3315 #, python-format msgid "" "NS record is not allowed to coexist with an %(type)s record except when " "located in a zone root record (RFC 2181, section 6.1)" msgstr "" -#: ipalib/plugins/dns.py:3300 +#: ipalib/plugins/dns.py:3331 msgid "" "DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC " "4035 section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:3498 +#: ipalib/plugins/dns.py:3547 msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3506 +#: ipalib/plugins/dns.py:3555 msgid "force NS record creation even if its hostname is not in DNS" msgstr "" -#: ipalib/plugins/dns.py:3553 +#: ipalib/plugins/dns.py:3602 msgid "Please choose a type of DNS resource record to be added" msgstr "" -#: ipalib/plugins/dns.py:3554 +#: ipalib/plugins/dns.py:3603 #, python-format msgid "The most common types for this type of zone are: %s\n" msgstr "" -#: ipalib/plugins/dns.py:3559 +#: ipalib/plugins/dns.py:3608 msgid "DNS resource record type" msgstr "" -#: ipalib/plugins/dns.py:3575 +#: ipalib/plugins/dns.py:3624 #, python-format msgid "Invalid or unsupported type. Allowed values are: %s" msgstr "" -#: ipalib/plugins/dns.py:3603 +#: ipalib/plugins/dns.py:3652 #, python-format msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" -#: ipalib/plugins/dns.py:3707 +#: ipalib/plugins/dns.py:3761 msgid "Modify a DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3724 +#: ipalib/plugins/dns.py:3778 msgid "DNS zone root record cannot be renamed" msgstr "" -#: ipalib/plugins/dns.py:3742 +#: ipalib/plugins/dns.py:3796 msgid "DNS records can be only updated one at a time" msgstr "" -#: ipalib/plugins/dns.py:3845 +#: ipalib/plugins/dns.py:3899 msgid "No option to modify specific record provided." msgstr "" -#: ipalib/plugins/dns.py:3848 ipalib/plugins/dns.py:4041 +#: ipalib/plugins/dns.py:3902 ipalib/plugins/dns.py:4095 msgid "Current DNS record contents:\n" msgstr "" -#: ipalib/plugins/dns.py:3870 +#: ipalib/plugins/dns.py:3924 #, python-format msgid "Modify %(name)s '%(value)s'?" msgstr "" -#: ipalib/plugins/dns.py:3878 +#: ipalib/plugins/dns.py:3932 #, python-format msgid "" "%(count)d %(type)s record skipped. Only one value per DNS record type can be " @@ -4894,187 +4978,191 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/dns.py:3890 +#: ipalib/plugins/dns.py:3944 #, python-format msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:3897 +#: ipalib/plugins/dns.py:3951 msgid "Delete DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3901 +#: ipalib/plugins/dns.py:3955 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:3907 +#: ipalib/plugins/dns.py:3961 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:3979 +#: ipalib/plugins/dns.py:4033 #, python-format msgid "Zone record '%s' cannot be deleted" msgstr "" -#: ipalib/plugins/dns.py:4033 +#: ipalib/plugins/dns.py:4087 msgid "No option to delete specific record provided." msgstr "" -#: ipalib/plugins/dns.py:4034 +#: ipalib/plugins/dns.py:4088 msgid "Delete all?" msgstr "" -#: ipalib/plugins/dns.py:4062 +#: ipalib/plugins/dns.py:4116 #, python-format msgid "Delete %(name)s '%(value)s'?" msgstr "" -#: ipalib/plugins/dns.py:4073 +#: ipalib/plugins/dns.py:4127 msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/dns.py:4090 +#: ipalib/plugins/dns.py:4144 msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/dns.py:4129 -msgid "Resolve a host name in DNS." +#: ipalib/plugins/dns.py:4183 +msgid "Resolve a host name in DNS. (Deprecated)" msgstr "" -#: ipalib/plugins/dns.py:4132 +#: ipalib/plugins/dns.py:4188 #, python-format msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:4149 +#: ipalib/plugins/dns.py:4192 +msgid "Hostname (FQDN)" +msgstr "" + +#: ipalib/plugins/dns.py:4201 #, python-format msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/dns.py:4186 +#: ipalib/plugins/dns.py:4247 msgid "DNS configuration options" msgstr "" -#: ipalib/plugins/dns.py:4191 ipalib/plugins/dns.py:4192 +#: ipalib/plugins/dns.py:4252 ipalib/plugins/dns.py:4253 msgid "DNS Global Configuration" msgstr "" -#: ipalib/plugins/dns.py:4198 +#: ipalib/plugins/dns.py:4259 msgid "Global forwarders" msgstr "" -#: ipalib/plugins/dns.py:4199 +#: ipalib/plugins/dns.py:4260 msgid "" "Global forwarders. A custom port can be specified for each forwarder using a " "standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/dns.py:4206 +#: ipalib/plugins/dns.py:4267 msgid "" "Global forwarding policy. Set to \"none\" to disable any configured global " "forwarders." msgstr "" -#: ipalib/plugins/dns.py:4213 +#: ipalib/plugins/dns.py:4274 msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" msgstr "" -#: ipalib/plugins/dns.py:4217 +#: ipalib/plugins/dns.py:4278 msgid "Zone refresh interval" msgstr "" -#: ipalib/plugins/dns.py:4261 +#: ipalib/plugins/dns.py:4324 msgid "Global DNS configuration is empty" msgstr "" -#: ipalib/plugins/dns.py:4267 +#: ipalib/plugins/dns.py:4330 msgid "Modify global DNS configuration." msgstr "" -#: ipalib/plugins/dns.py:4275 ipalib/plugins/dns.py:4436 -#: ipalib/plugins/dns.py:4482 +#: ipalib/plugins/dns.py:4338 ipalib/plugins/dns.py:4499 +#: ipalib/plugins/dns.py:4544 msgid "Server will check DNS forwarder(s)." msgstr "" -#: ipalib/plugins/dns.py:4277 ipalib/plugins/dns.py:4438 -#: ipalib/plugins/dns.py:4484 +#: ipalib/plugins/dns.py:4340 ipalib/plugins/dns.py:4501 +#: ipalib/plugins/dns.py:4546 msgid "This may take some time, please wait ..." msgstr "" -#: ipalib/plugins/dns.py:4318 +#: ipalib/plugins/dns.py:4381 msgid "Show the current global DNS configuration." msgstr "" -#: ipalib/plugins/dns.py:4331 +#: ipalib/plugins/dns.py:4394 msgid "DNS forward zone" msgstr "" -#: ipalib/plugins/dns.py:4332 +#: ipalib/plugins/dns.py:4395 msgid "DNS forward zones" msgstr "" -#: ipalib/plugins/dns.py:4334 +#: ipalib/plugins/dns.py:4397 msgid "DNS Forward Zones" msgstr "" -#: ipalib/plugins/dns.py:4335 +#: ipalib/plugins/dns.py:4398 msgid "DNS Forward Zone" msgstr "" -#: ipalib/plugins/dns.py:4429 +#: ipalib/plugins/dns.py:4492 msgid "Create new DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4452 ipalib/plugins/dns.py:4510 +#: ipalib/plugins/dns.py:4515 ipalib/plugins/dns.py:4572 msgid "Please specify forwarders." msgstr "" -#: ipalib/plugins/dns.py:4468 +#: ipalib/plugins/dns.py:4530 msgid "Delete DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4470 +#: ipalib/plugins/dns.py:4532 #, python-format msgid "Deleted DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4475 +#: ipalib/plugins/dns.py:4537 msgid "Modify DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4523 +#: ipalib/plugins/dns.py:4585 msgid "Search for DNS forward zones." msgstr "" -#: ipalib/plugins/dns.py:4528 +#: ipalib/plugins/dns.py:4590 msgid "Display information about a DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4535 +#: ipalib/plugins/dns.py:4597 msgid "Disable DNS Forward Zone." msgstr "" -#: ipalib/plugins/dns.py:4536 +#: ipalib/plugins/dns.py:4598 #, python-format msgid "Disabled DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4541 +#: ipalib/plugins/dns.py:4603 msgid "Enable DNS Forward Zone." msgstr "" -#: ipalib/plugins/dns.py:4542 +#: ipalib/plugins/dns.py:4604 #, python-format msgid "Enabled DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4552 +#: ipalib/plugins/dns.py:4614 msgid "Add a permission for per-forward zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:4557 +#: ipalib/plugins/dns.py:4619 msgid "Remove a permission for per-forward zone access delegation." msgstr "" @@ -5096,8 +5184,8 @@ msgstr "" msgid "Change current Domain Level." msgstr "" -#: ipalib/plugins/domainlevel.py:99 ipalib/plugins/internal.py:456 -#: ipalib/plugins/internal.py:457 +#: ipalib/plugins/domainlevel.py:99 ipalib/plugins/internal.py:475 +#: ipalib/plugins/internal.py:476 msgid "Domain Level" msgstr "" @@ -5110,7 +5198,7 @@ msgstr "" msgid "Domain Level cannot be raised to {0}, server {1} does not support it." msgstr "" -#: ipalib/plugins/group.py:34 +#: ipalib/plugins/group.py:41 msgid "" "\n" "Groups of users\n" @@ -5202,163 +5290,163 @@ msgid "" " ipa group-show ad_admins_external\n" msgstr "" -#: ipalib/plugins/group.py:125 ipalib/plugins/group.py:315 -#: ipalib/plugins/group.py:552 ipalib/plugins/user.py:115 +#: ipalib/plugins/group.py:132 ipalib/plugins/group.py:322 +#: ipalib/plugins/group.py:563 ipalib/plugins/user.py:123 msgid "group" msgstr "" -#: ipalib/plugins/group.py:126 +#: ipalib/plugins/group.py:133 msgid "groups" msgstr "" -#: ipalib/plugins/group.py:228 +#: ipalib/plugins/group.py:235 msgid "User Group" msgstr "" -#: ipalib/plugins/group.py:236 ipalib/plugins/idviews.py:770 +#: ipalib/plugins/group.py:243 ipalib/plugins/idviews.py:925 msgid "Group name" msgstr "" -#: ipalib/plugins/group.py:243 ipalib/plugins/sudocmdgroup.py:123 +#: ipalib/plugins/group.py:250 ipalib/plugins/sudocmdgroup.py:123 msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:248 +#: ipalib/plugins/group.py:255 msgid "GID (use this option to set it manually)" msgstr "" -#: ipalib/plugins/group.py:256 +#: ipalib/plugins/group.py:263 msgid "External member" msgstr "" -#: ipalib/plugins/group.py:257 +#: ipalib/plugins/group.py:264 msgid "Members of a trusted domain in DOM\\name or name@domain form" msgstr "" -#: ipalib/plugins/group.py:265 +#: ipalib/plugins/group.py:272 msgid "Create a new group." msgstr "" -#: ipalib/plugins/group.py:267 +#: ipalib/plugins/group.py:274 #, python-format msgid "Added group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:272 +#: ipalib/plugins/group.py:279 msgid "Create as a non-POSIX group" msgstr "" -#: ipalib/plugins/group.py:277 +#: ipalib/plugins/group.py:284 msgid "Allow adding external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:290 +#: ipalib/plugins/group.py:297 msgid "gid cannot be set for external group" msgstr "" -#: ipalib/plugins/group.py:300 +#: ipalib/plugins/group.py:307 msgid "Delete group." msgstr "" -#: ipalib/plugins/group.py:302 +#: ipalib/plugins/group.py:309 #, python-format msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:316 +#: ipalib/plugins/group.py:323 msgid "privileged group" msgstr "" -#: ipalib/plugins/group.py:333 +#: ipalib/plugins/group.py:344 msgid "Modify a group." msgstr "" -#: ipalib/plugins/group.py:335 +#: ipalib/plugins/group.py:346 #, python-format msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:340 +#: ipalib/plugins/group.py:351 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:344 +#: ipalib/plugins/group.py:355 msgid "change to support external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:404 +#: ipalib/plugins/group.py:415 msgid "Search for groups." msgstr "" -#: ipalib/plugins/group.py:409 +#: ipalib/plugins/group.py:420 #, python-format msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:415 +#: ipalib/plugins/group.py:426 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:419 +#: ipalib/plugins/group.py:430 msgid "search for POSIX groups" msgstr "" -#: ipalib/plugins/group.py:423 +#: ipalib/plugins/group.py:434 msgid "" "search for groups with support of external non-IPA members from trusted " "domains" msgstr "" -#: ipalib/plugins/group.py:427 +#: ipalib/plugins/group.py:438 msgid "search for non-POSIX groups" msgstr "" -#: ipalib/plugins/group.py:473 +#: ipalib/plugins/group.py:484 msgid "Display information about a named group." msgstr "" -#: ipalib/plugins/group.py:494 +#: ipalib/plugins/group.py:505 msgid "Add members to a group." msgstr "" -#: ipalib/plugins/group.py:503 ipalib/plugins/group.py:560 -#: ipalib/plugins/hbactest.py:386 +#: ipalib/plugins/group.py:514 ipalib/plugins/group.py:571 +#: ipalib/plugins/hbactest.py:389 msgid "" "Cannot perform external member validation without Samba 4 support installed. " "Make sure you have installed server-trust-ad sub-package of IPA on the server" msgstr "" -#: ipalib/plugins/group.py:508 ipalib/plugins/group.py:565 -#: ipalib/plugins/trust.py:587 ipalib/plugins/trust.py:1362 +#: ipalib/plugins/group.py:519 ipalib/plugins/group.py:576 +#: ipalib/plugins/trust.py:780 ipalib/plugins/trust.py:1596 msgid "" "Cannot perform join operation without own domain configured. Make sure you " "have run ipa-adtrust-install on the IPA server first" msgstr "" -#: ipalib/plugins/group.py:539 +#: ipalib/plugins/group.py:550 msgid "Remove members from a group." msgstr "" -#: ipalib/plugins/group.py:596 +#: ipalib/plugins/group.py:607 msgid "Detach a managed group from a user." msgstr "" -#: ipalib/plugins/group.py:599 +#: ipalib/plugins/group.py:610 #, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:620 +#: ipalib/plugins/group.py:631 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:626 +#: ipalib/plugins/group.py:637 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:645 +#: ipalib/plugins/group.py:656 msgid "Not a managed group" msgstr "" @@ -5438,7 +5526,7 @@ msgid "HBAC Rule" msgstr "" #: ipalib/plugins/hbacrule.py:194 ipalib/plugins/selinuxusermap.py:201 -#: ipalib/plugins/sudorule.py:218 +#: ipalib/plugins/sudorule.py:222 msgid "Rule name" msgstr "" @@ -5450,13 +5538,13 @@ msgstr "" msgid "Rule type" msgstr "" -#: ipalib/plugins/hbacrule.py:211 ipalib/plugins/netgroup.py:207 -#: ipalib/plugins/selinuxusermap.py:216 ipalib/plugins/sudorule.py:232 +#: ipalib/plugins/hbacrule.py:211 ipalib/plugins/netgroup.py:215 +#: ipalib/plugins/selinuxusermap.py:216 ipalib/plugins/sudorule.py:236 msgid "User category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:217 ipalib/plugins/netgroup.py:213 -#: ipalib/plugins/selinuxusermap.py:222 ipalib/plugins/sudorule.py:238 +#: ipalib/plugins/hbacrule.py:217 ipalib/plugins/netgroup.py:221 +#: ipalib/plugins/selinuxusermap.py:222 ipalib/plugins/sudorule.py:242 msgid "Host category the rule applies to" msgstr "" @@ -5601,7 +5689,7 @@ msgstr "" msgid "HBAC Service" msgstr "" -#: ipalib/plugins/hbacsvc.py:101 ipalib/plugins/vault.py:149 +#: ipalib/plugins/hbacsvc.py:101 msgid "Service name" msgstr "" @@ -5748,7 +5836,7 @@ msgstr "" msgid "Remove members from an HBAC service group." msgstr "" -#: ipalib/plugins/hbactest.py:36 +#: ipalib/plugins/hbactest.py:39 msgid "" "\n" "Simulate use of Host-based access controls\n" @@ -5946,75 +6034,75 @@ msgid "" " Not matched rules: can_login\n" msgstr "" -#: ipalib/plugins/hbactest.py:245 +#: ipalib/plugins/hbactest.py:248 msgid "Simulate use of Host-based access controls" msgstr "" -#: ipalib/plugins/hbactest.py:249 +#: ipalib/plugins/hbactest.py:252 msgid "Warning" msgstr "" -#: ipalib/plugins/hbactest.py:250 +#: ipalib/plugins/hbactest.py:253 msgid "Matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:251 +#: ipalib/plugins/hbactest.py:254 msgid "Not matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:252 +#: ipalib/plugins/hbactest.py:255 msgid "Non-existent or invalid rules" msgstr "" -#: ipalib/plugins/hbactest.py:253 +#: ipalib/plugins/hbactest.py:256 msgid "Result of simulation" msgstr "" -#: ipalib/plugins/hbactest.py:259 ipalib/plugins/krbtpolicy.py:124 +#: ipalib/plugins/hbactest.py:262 ipalib/plugins/krbtpolicy.py:124 #: ipalib/plugins/passwd.py:74 msgid "User name" msgstr "" -#: ipalib/plugins/hbactest.py:265 +#: ipalib/plugins/hbactest.py:268 msgid "Target host" msgstr "" -#: ipalib/plugins/hbactest.py:273 +#: ipalib/plugins/hbactest.py:276 msgid "Rules to test. If not specified, --enabled is assumed" msgstr "" -#: ipalib/plugins/hbactest.py:278 +#: ipalib/plugins/hbactest.py:281 msgid "Hide details which rules are matched, not matched, or invalid" msgstr "" -#: ipalib/plugins/hbactest.py:282 +#: ipalib/plugins/hbactest.py:285 msgid "Include all enabled IPA rules into test [default]" msgstr "" -#: ipalib/plugins/hbactest.py:286 +#: ipalib/plugins/hbactest.py:289 msgid "Include all disabled IPA rules into test" msgstr "" -#: ipalib/plugins/hbactest.py:290 +#: ipalib/plugins/hbactest.py:293 msgid "Maximum number of rules to process when no --rules is specified" msgstr "" -#: ipalib/plugins/hbactest.py:368 +#: ipalib/plugins/hbactest.py:371 msgid "Unresolved rules in --rules" msgstr "" -#: ipalib/plugins/hbactest.py:392 ipalib/plugins/trust.py:230 +#: ipalib/plugins/hbactest.py:395 ipalib/plugins/trust.py:347 msgid "" "Cannot search in trusted domains without own domain configured. Make sure " "you have run ipa-adtrust-install on the IPA server first" msgstr "" -#: ipalib/plugins/hbactest.py:478 +#: ipalib/plugins/hbactest.py:482 #, python-format msgid "Access granted: %s" msgstr "" -#: ipalib/plugins/host.py:50 +#: ipalib/plugins/host.py:57 msgid "" "\n" "Hosts/Machines\n" @@ -6026,7 +6114,7 @@ msgid "" "- every enrolled client generates a host entry\n" msgstr "" -#: ipalib/plugins/host.py:58 +#: ipalib/plugins/host.py:65 msgid "" "\n" "ENROLLMENT:\n" @@ -6042,7 +6130,7 @@ msgid "" "3. The host has been created with a one-time password.\n" msgstr "" -#: ipalib/plugins/host.py:70 +#: ipalib/plugins/host.py:77 msgid "" "\n" "RE-ENROLLMENT:\n" @@ -6057,7 +6145,7 @@ msgid "" "the OS that it runs, etc.\n" msgstr "" -#: ipalib/plugins/host.py:82 +#: ipalib/plugins/host.py:89 msgid "" "\n" " Add a new host:\n" @@ -6065,336 +6153,356 @@ msgid "" "com\n" msgstr "" -#: ipalib/plugins/host.py:85 +#: ipalib/plugins/host.py:92 msgid "" "\n" " Delete a host:\n" " ipa host-del test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:88 +#: ipalib/plugins/host.py:95 msgid "" "\n" " Add a new host with a one-time password:\n" " ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:91 +#: ipalib/plugins/host.py:98 msgid "" "\n" " Add a new host with a random one-time password:\n" " ipa host-add --os='Fedora 12' --random test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:94 +#: ipalib/plugins/host.py:101 msgid "" "\n" " Modify information about a host:\n" " ipa host-mod --os='Fedora 12' test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:97 +#: ipalib/plugins/host.py:104 msgid "" "\n" " Remove SSH public keys of a host and update DNS to reflect this change:\n" " ipa host-mod --sshpubkey= --updatedns test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:100 +#: ipalib/plugins/host.py:107 msgid "" "\n" " Disable the host Kerberos key, SSL certificate and all of its services:\n" " ipa host-disable test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:103 +#: ipalib/plugins/host.py:110 msgid "" "\n" " Add a host that can manage this host's keytab and certificate:\n" " ipa host-add-managedby --hosts=test2 test\n" msgstr "" -#: ipalib/plugins/host.py:106 +#: ipalib/plugins/host.py:113 msgid "" "\n" " Allow user to create a keytab:\n" " ipa host-allow-create-keytab test2 --users=tuser1\n" msgstr "" -#: ipalib/plugins/host.py:178 ipalib/plugins/service.py:102 +#: ipalib/plugins/host.py:185 ipalib/plugins/service.py:107 msgid "Keytab" msgstr "" -#: ipalib/plugins/host.py:190 ipalib/plugins/internal.py:399 -#: ipalib/plugins/service.py:111 +#: ipalib/plugins/host.py:197 ipalib/plugins/internal.py:418 +#: ipalib/plugins/service.py:116 msgid "Serial Number" msgstr "" -#: ipalib/plugins/host.py:193 ipalib/plugins/internal.py:400 -#: ipalib/plugins/service.py:114 +#: ipalib/plugins/host.py:200 ipalib/plugins/internal.py:419 +#: ipalib/plugins/service.py:119 msgid "Serial Number (hex)" msgstr "" -#: ipalib/plugins/host.py:214 +#: ipalib/plugins/host.py:221 msgid "Failed managedby" msgstr "" -#: ipalib/plugins/host.py:220 ipalib/plugins/service.py:135 +#: ipalib/plugins/host.py:227 ipalib/plugins/service.py:140 msgid "Users allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:223 ipalib/plugins/service.py:138 +#: ipalib/plugins/host.py:230 ipalib/plugins/service.py:143 msgid "Groups allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:226 ipalib/plugins/service.py:141 +#: ipalib/plugins/host.py:233 ipalib/plugins/service.py:146 msgid "Hosts allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:229 ipalib/plugins/service.py:144 +#: ipalib/plugins/host.py:236 ipalib/plugins/service.py:149 msgid "Host Groups allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:232 ipalib/plugins/service.py:147 +#: ipalib/plugins/host.py:239 ipalib/plugins/service.py:152 msgid "Users allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:235 ipalib/plugins/service.py:150 +#: ipalib/plugins/host.py:242 ipalib/plugins/service.py:155 msgid "Groups allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:238 ipalib/plugins/service.py:153 +#: ipalib/plugins/host.py:245 ipalib/plugins/service.py:158 msgid "Hosts allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:241 ipalib/plugins/service.py:156 +#: ipalib/plugins/host.py:248 ipalib/plugins/service.py:161 msgid "Host Groups allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:244 ipalib/plugins/service.py:159 +#: ipalib/plugins/host.py:251 ipalib/plugins/service.py:164 msgid "Failed allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:247 ipalib/plugins/service.py:162 +#: ipalib/plugins/host.py:254 ipalib/plugins/service.py:167 msgid "Failed allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:275 +#: ipalib/plugins/host.py:282 #, python-format msgid "invalid domain-name: %s" msgstr "" -#: ipalib/plugins/host.py:286 ipalib/plugins/sudorule.py:424 +#: ipalib/plugins/host.py:293 ipalib/plugins/sudorule.py:428 msgid "host" msgstr "" -#: ipalib/plugins/host.py:287 ipalib/plugins/idviews.py:335 -#: ipalib/plugins/idviews.py:378 ipalib/plugins/sudorule.py:424 +#: ipalib/plugins/host.py:294 ipalib/plugins/idviews.py:367 +#: ipalib/plugins/idviews.py:410 ipalib/plugins/sudorule.py:428 msgid "hosts" msgstr "" -#: ipalib/plugins/host.py:448 ipalib/plugins/internal.py:565 -#: ipalib/plugins/internal.py:634 +#: ipalib/plugins/host.py:455 ipalib/plugins/internal.py:584 +#: ipalib/plugins/internal.py:653 msgid "Host" msgstr "" -#: ipalib/plugins/host.py:453 +#: ipalib/plugins/host.py:460 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:460 +#: ipalib/plugins/host.py:467 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:464 +#: ipalib/plugins/host.py:471 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:465 +#: ipalib/plugins/host.py:472 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:470 +#: ipalib/plugins/host.py:477 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:474 +#: ipalib/plugins/host.py:481 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:475 +#: ipalib/plugins/host.py:482 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:479 +#: ipalib/plugins/host.py:486 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:480 +#: ipalib/plugins/host.py:487 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:484 +#: ipalib/plugins/host.py:491 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:485 +#: ipalib/plugins/host.py:492 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:488 +#: ipalib/plugins/host.py:495 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:502 ipalib/plugins/host.py:828 +#: ipalib/plugins/host.py:509 ipalib/plugins/host.py:813 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:511 +#: ipalib/plugins/host.py:518 msgid "MAC address" msgstr "" -#: ipalib/plugins/host.py:512 +#: ipalib/plugins/host.py:519 msgid "Hardware MAC address(es) on this host" msgstr "" -#: ipalib/plugins/host.py:524 +#: ipalib/plugins/host.py:531 msgid "" "Host category (semantics placed on this attribute are for local " "interpretation)" msgstr "" -#: ipalib/plugins/host.py:528 ipalib/plugins/internal.py:547 +#: ipalib/plugins/host.py:535 ipalib/plugins/internal.py:566 msgid "Assigned ID View" msgstr "" -#: ipalib/plugins/host.py:588 +#: ipalib/plugins/host.py:595 msgid "Add a new host." msgstr "" -#: ipalib/plugins/host.py:591 +#: ipalib/plugins/host.py:598 #, python-format msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:596 +#: ipalib/plugins/host.py:603 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:599 +#: ipalib/plugins/host.py:606 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:602 +#: ipalib/plugins/host.py:609 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:687 +#: ipalib/plugins/host.py:694 #, python-format msgid "The host was added but the DNS update failed with: %(exc)s" msgstr "" -#: ipalib/plugins/host.py:708 +#: ipalib/plugins/host.py:715 msgid "Delete a host." msgstr "" -#: ipalib/plugins/host.py:710 +#: ipalib/plugins/host.py:717 #, python-format msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:715 +#: ipalib/plugins/host.py:722 msgid "Remove entries from DNS" msgstr "" -#: ipalib/plugins/host.py:819 +#: ipalib/plugins/host.py:804 msgid "Modify information about a host." msgstr "" -#: ipalib/plugins/host.py:822 +#: ipalib/plugins/host.py:807 #, python-format msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:829 +#: ipalib/plugins/host.py:814 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:833 +#: ipalib/plugins/host.py:818 msgid "Update DNS entries" msgstr "" -#: ipalib/plugins/host.py:848 +#: ipalib/plugins/host.py:833 msgid "Password cannot be set on enrolled host." msgstr "" -#: ipalib/plugins/host.py:852 +#: ipalib/plugins/host.py:837 msgid "cn is immutable" msgstr "" -#: ipalib/plugins/host.py:978 +#: ipalib/plugins/host.py:942 msgid "Search for hosts." msgstr "" -#: ipalib/plugins/host.py:982 +#: ipalib/plugins/host.py:946 #, python-format msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:1065 +#: ipalib/plugins/host.py:1029 msgid "Display information about a host." msgstr "" -#: ipalib/plugins/host.py:1070 ipalib/plugins/service.py:709 +#: ipalib/plugins/host.py:1034 ipalib/plugins/service.py:699 +#: ipalib/plugins/user.py:809 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:1108 ipalib/plugins/service.py:734 +#: ipalib/plugins/host.py:1072 ipalib/plugins/service.py:724 +#: ipalib/plugins/user.py:833 #, python-format msgid "Certificate(s) stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/host.py:1120 +#: ipalib/plugins/host.py:1084 msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" -#: ipalib/plugins/host.py:1123 +#: ipalib/plugins/host.py:1087 #, python-format msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:1217 +#: ipalib/plugins/host.py:1159 msgid "Add hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:1231 ipalib/plugins/otptoken.py:470 +#: ipalib/plugins/host.py:1173 msgid "Remove hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:1244 +#: ipalib/plugins/host.py:1186 msgid "" "Allow users, groups, hosts or host groups to retrieve a keytab of this host." msgstr "" -#: ipalib/plugins/host.py:1263 +#: ipalib/plugins/host.py:1205 msgid "" "Disallow users, groups, hosts or host groups to retrieve a keytab of this " "host." msgstr "" -#: ipalib/plugins/host.py:1281 +#: ipalib/plugins/host.py:1223 msgid "" "Allow users, groups, hosts or host groups to create a keytab of this host." msgstr "" -#: ipalib/plugins/host.py:1300 +#: ipalib/plugins/host.py:1242 msgid "" "Disallow users, groups, hosts or host groups to create a keytab of this host." msgstr "" -#: ipalib/plugins/hostgroup.py:30 +#: ipalib/plugins/host.py:1260 +msgid "Add certificates to host entry" +msgstr "" + +#: ipalib/plugins/host.py:1261 +#, python-format +msgid "Added certificates to host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/host.py:1267 +msgid "Remove certificates from host entry" +msgstr "" + +#: ipalib/plugins/host.py:1268 +#, python-format +msgid "Removed certificates from host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hostgroup.py:35 msgid "" "\n" "Groups of hosts.\n" @@ -6426,88 +6534,89 @@ msgid "" " ipa hostgroup-del baltimore\n" msgstr "" -#: ipalib/plugins/hostgroup.py:77 +#: ipalib/plugins/hostgroup.py:82 msgid "host group" msgstr "" -#: ipalib/plugins/hostgroup.py:78 +#: ipalib/plugins/hostgroup.py:83 msgid "host groups" msgstr "" -#: ipalib/plugins/hostgroup.py:142 +#: ipalib/plugins/hostgroup.py:148 msgid "Host Group" msgstr "" -#: ipalib/plugins/hostgroup.py:149 +#: ipalib/plugins/hostgroup.py:155 msgid "Host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:150 +#: ipalib/plugins/hostgroup.py:156 msgid "Name of host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:157 +#: ipalib/plugins/hostgroup.py:163 msgid "A description of this host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:183 +#: ipalib/plugins/hostgroup.py:189 msgid "Add a new hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:185 +#: ipalib/plugins/hostgroup.py:191 #, python-format msgid "Added hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:201 +#: ipalib/plugins/hostgroup.py:207 #, python-format msgid "" "netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -#: ipalib/plugins/hostgroup.py:222 +#: ipalib/plugins/hostgroup.py:228 msgid "Delete a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:224 +#: ipalib/plugins/hostgroup.py:230 #, python-format msgid "Deleted hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:229 +#: ipalib/plugins/hostgroup.py:235 msgid "Modify a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:231 +#: ipalib/plugins/hostgroup.py:237 #, python-format msgid "Modified hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:241 +#: ipalib/plugins/hostgroup.py:247 msgid "Search for hostgroups." msgstr "" -#: ipalib/plugins/hostgroup.py:245 +#: ipalib/plugins/hostgroup.py:251 #, python-format msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hostgroup.py:258 +#: ipalib/plugins/hostgroup.py:264 msgid "Display information about a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:268 +#: ipalib/plugins/hostgroup.py:274 msgid "Add members to a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:278 +#: ipalib/plugins/hostgroup.py:284 msgid "Remove members from a hostgroup." msgstr "" -#: ipalib/plugins/idrange.py:34 +#: ipalib/plugins/idrange.py:53 +#, python-brace-format msgid "" "\n" "ID ranges\n" @@ -6639,103 +6748,91 @@ msgid "" "user. RIDs are unique in a domain, 32bit values and are used for users and\n" "groups.\n" "\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" +"{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:185 +#: ipalib/plugins/idrange.py:195 msgid "ID Ranges" msgstr "" -#: ipalib/plugins/idrange.py:186 +#: ipalib/plugins/idrange.py:196 msgid "ID Range" msgstr "" -#: ipalib/plugins/idrange.py:190 +#: ipalib/plugins/idrange.py:200 msgid "local domain range" msgstr "" -#: ipalib/plugins/idrange.py:192 ipalib/plugins/trust.py:425 +#: ipalib/plugins/idrange.py:202 ipalib/plugins/trust.py:592 msgid "Active Directory domain range" msgstr "" -#: ipalib/plugins/idrange.py:193 ipalib/plugins/trust.py:426 +#: ipalib/plugins/idrange.py:203 ipalib/plugins/trust.py:593 msgid "Active Directory trust range with POSIX attributes" msgstr "" -#: ipalib/plugins/idrange.py:201 +#: ipalib/plugins/idrange.py:211 msgid "Range name" msgstr "" -#: ipalib/plugins/idrange.py:206 +#: ipalib/plugins/idrange.py:216 msgid "First Posix ID of the range" msgstr "" -#: ipalib/plugins/idrange.py:210 +#: ipalib/plugins/idrange.py:220 msgid "Number of IDs in the range" msgstr "" -#: ipalib/plugins/idrange.py:214 +#: ipalib/plugins/idrange.py:224 msgid "First RID of the corresponding RID range" msgstr "" -#: ipalib/plugins/idrange.py:218 +#: ipalib/plugins/idrange.py:228 msgid "First RID of the secondary RID range" msgstr "" -#: ipalib/plugins/idrange.py:223 +#: ipalib/plugins/idrange.py:233 msgid "Domain SID of the trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:228 +#: ipalib/plugins/idrange.py:238 msgid "Name of the trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:231 ipalib/plugins/internal.py:609 -#: ipalib/plugins/trust.py:459 +#: ipalib/plugins/idrange.py:241 ipalib/plugins/internal.py:628 +#: ipalib/plugins/trust.py:626 msgid "Range type" msgstr "" -#: ipalib/plugins/idrange.py:233 +#: ipalib/plugins/idrange.py:243 #, python-brace-format msgid "ID range type, one of {vals}" msgstr "" -#: ipalib/plugins/idrange.py:308 +#: ipalib/plugins/idrange.py:318 msgid "" "range modification leaving objects with ID out of the defined range is not " "allowed" msgstr "" -#: ipalib/plugins/idrange.py:313 +#: ipalib/plugins/idrange.py:323 msgid "" "Cannot perform SID validation without Samba 4 support installed. Make sure " "you have installed server-trust-ad sub-package of IPA on the server" msgstr "" -#: ipalib/plugins/idrange.py:320 +#: ipalib/plugins/idrange.py:330 msgid "" "Cross-realm trusts are not configured. Make sure you have run ipa-adtrust-" "install on the IPA server first" msgstr "" -#: ipalib/plugins/idrange.py:332 +#: ipalib/plugins/idrange.py:342 msgid "SID is not recognized as a valid SID for a trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:369 +#: ipalib/plugins/idrange.py:379 +#, python-brace-format msgid "" "\n" " Add new ID range.\n" @@ -6757,120 +6854,115 @@ msgid "" "\n" " must be given to add a new range for a trusted AD domain.\n" "\n" -" WARNING:\n" -"\n" -" DNA plugin in 389-ds will allocate IDs based on the ranges configured " -"for the\n" -" local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -" on the local ranges set via this family of commands.\n" -"\n" -" Manual configuration change has to be done in the DNA plugin " -"configuration for\n" -" the new local range. Specifically, The dnaNextRange attribute of " -"'cn=Posix\n" -" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " -"to be\n" -" modified to match the new range.\n" -" " +"{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:401 +#: ipalib/plugins/idrange.py:402 #, python-format msgid "Added ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:475 ipalib/plugins/idrange.py:702 +#: ipalib/plugins/idrange.py:476 ipalib/plugins/idrange.py:713 msgid "Options dom-sid and dom-name cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:485 ipalib/plugins/idrange.py:714 +#: ipalib/plugins/idrange.py:486 ipalib/plugins/idrange.py:725 msgid "" "SID for the specified trusted domain name could not be found. Please specify " "the SID directly using dom-sid option." msgstr "" -#: ipalib/plugins/idrange.py:501 +#: ipalib/plugins/idrange.py:502 msgid "Options dom-sid/dom-name and rid-base must be used together" msgstr "" -#: ipalib/plugins/idrange.py:508 ipalib/plugins/idrange.py:737 +#: ipalib/plugins/idrange.py:509 ipalib/plugins/idrange.py:748 msgid "" "Option rid-base must not be used when IPA range type is ipa-ad-trust-posix" msgstr "" -#: ipalib/plugins/idrange.py:515 +#: ipalib/plugins/idrange.py:516 msgid "" "IPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of " "the trusted domain is specified" msgstr "" -#: ipalib/plugins/idrange.py:521 +#: ipalib/plugins/idrange.py:522 msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:540 +#: ipalib/plugins/idrange.py:541 msgid "" "IPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when " "SID of the trusted domain is not specified." msgstr "" -#: ipalib/plugins/idrange.py:547 ipalib/plugins/idrange.py:756 +#: ipalib/plugins/idrange.py:548 ipalib/plugins/idrange.py:767 msgid "Options secondary-rid-base and rid-base must be used together" msgstr "" -#: ipalib/plugins/idrange.py:557 ipalib/plugins/idrange.py:779 +#: ipalib/plugins/idrange.py:558 ipalib/plugins/idrange.py:790 msgid "Primary RID range and secondary RID range cannot overlap" msgstr "" -#: ipalib/plugins/idrange.py:569 +#: ipalib/plugins/idrange.py:570 msgid "" "You must specify both rid-base and secondary-rid-base options, because ipa-" "adtrust-install has already been run." msgstr "" -#: ipalib/plugins/idrange.py:586 +#: ipalib/plugins/idrange.py:587 msgid "Delete an ID range." msgstr "" -#: ipalib/plugins/idrange.py:588 +#: ipalib/plugins/idrange.py:589 #, python-format msgid "Deleted ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:634 +#: ipalib/plugins/idrange.py:635 msgid "Search for ranges." msgstr "" -#: ipalib/plugins/idrange.py:637 +#: ipalib/plugins/idrange.py:638 #, python-format msgid "%(count)d range matched" msgid_plural "%(count)d ranges matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idrange.py:657 +#: ipalib/plugins/idrange.py:658 msgid "Display information about a range." msgstr "" -#: ipalib/plugins/idrange.py:673 -msgid "Modify ID range." +#: ipalib/plugins/idrange.py:674 +#, python-brace-format +msgid "" +"Modify ID range.\n" +"\n" +"{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:675 +#: ipalib/plugins/idrange.py:679 #, python-format msgid "Modified ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:721 +#: ipalib/plugins/idrange.py:697 +msgid "" +"This command can not be used to change ID allocation for local IPA domain. " +"Run `ipa help idrange` for more information" +msgstr "" + +#: ipalib/plugins/idrange.py:732 msgid "Options dom-sid and secondary-rid-base cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:728 +#: ipalib/plugins/idrange.py:739 msgid "Options dom-sid and rid-base must be used together" msgstr "" -#: ipalib/plugins/idviews.py:40 +#: ipalib/plugins/idviews.py:48 msgid "" "\n" "ID Views\n" @@ -6882,905 +6974,943 @@ msgid "" "other Identity Management solutions.\n" msgstr "" -#: ipalib/plugins/idviews.py:51 ipalib/plugins/idviews.py:65 -#: ipalib/plugins/idviews.py:72 ipalib/plugins/idviews.py:248 -#: ipalib/plugins/idviews.py:593 +#: ipalib/plugins/idviews.py:59 ipalib/plugins/idviews.py:88 +#: ipalib/plugins/idviews.py:95 ipalib/plugins/idviews.py:275 +#: ipalib/plugins/idviews.py:712 msgid "ID View" msgstr "" -#: ipalib/plugins/idviews.py:53 +#: ipalib/plugins/idviews.py:61 msgid "system ID View" msgstr "" -#: ipalib/plugins/idviews.py:66 ipalib/plugins/idviews.py:71 +#: ipalib/plugins/idviews.py:67 +msgid "Fallback to AD DC LDAP" +msgstr "" + +#: ipalib/plugins/idviews.py:68 +msgid "" +"Allow falling back to AD DC LDAP when resolving AD trusted objects. For two-" +"way trusts only." +msgstr "" + +#: ipalib/plugins/idviews.py:89 ipalib/plugins/idviews.py:94 msgid "ID Views" msgstr "" -#: ipalib/plugins/idviews.py:77 +#: ipalib/plugins/idviews.py:100 msgid "ID View Name" msgstr "" -#: ipalib/plugins/idviews.py:100 +#: ipalib/plugins/idviews.py:123 msgid "Add a new ID View." msgstr "" -#: ipalib/plugins/idviews.py:101 +#: ipalib/plugins/idviews.py:124 #, python-format msgid "Added ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:106 +#: ipalib/plugins/idviews.py:129 msgid "Delete an ID View." msgstr "" -#: ipalib/plugins/idviews.py:107 +#: ipalib/plugins/idviews.py:130 #, python-format msgid "Deleted ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:119 +#: ipalib/plugins/idviews.py:142 msgid "Modify an ID View." msgstr "" -#: ipalib/plugins/idviews.py:120 +#: ipalib/plugins/idviews.py:143 #, python-format msgid "Modified an ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:132 +#: ipalib/plugins/idviews.py:155 msgid "Search for an ID View." msgstr "" -#: ipalib/plugins/idviews.py:133 +#: ipalib/plugins/idviews.py:156 #, python-format msgid "%(count)d ID View matched" msgid_plural "%(count)d ID Views matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:139 +#: ipalib/plugins/idviews.py:162 msgid "Display information about an ID View." msgstr "" -#: ipalib/plugins/idviews.py:144 +#: ipalib/plugins/idviews.py:167 msgid "Enumerate all the hosts the view applies to." msgstr "" -#: ipalib/plugins/idviews.py:150 +#: ipalib/plugins/idviews.py:173 msgid "User object overrides" msgstr "" -#: ipalib/plugins/idviews.py:153 +#: ipalib/plugins/idviews.py:176 msgid "Group object overrides" msgstr "" -#: ipalib/plugins/idviews.py:156 +#: ipalib/plugins/idviews.py:179 msgid "Hosts the view applies to" msgstr "" -#: ipalib/plugins/idviews.py:249 +#: ipalib/plugins/idviews.py:276 msgid "Default Trust View cannot be applied on hosts" msgstr "" -#: ipalib/plugins/idviews.py:272 ipalib/plugins/idviews.py:295 +#: ipalib/plugins/idviews.py:304 ipalib/plugins/idviews.py:327 msgid "not found" msgstr "" -#: ipalib/plugins/idviews.py:293 +#: ipalib/plugins/idviews.py:325 msgid "ID View already applied" msgstr "" -#: ipalib/plugins/idviews.py:313 +#: ipalib/plugins/idviews.py:345 msgid "value" msgstr "" -#: ipalib/plugins/idviews.py:322 +#: ipalib/plugins/idviews.py:354 msgid "" "Applies ID View to specified hosts or current members of specified " -"hostgroups. If any other ID View is applied to the host, it is overriden." +"hostgroups. If any other ID View is applied to the host, it is overridden." msgstr "" -#: ipalib/plugins/idviews.py:326 +#: ipalib/plugins/idviews.py:358 #, python-format msgid "ID View applied to %i host." msgstr "" -#: ipalib/plugins/idviews.py:327 +#: ipalib/plugins/idviews.py:359 #, python-format msgid "ID View applied to %i hosts." msgstr "" -#: ipalib/plugins/idviews.py:334 +#: ipalib/plugins/idviews.py:366 msgid "Hosts to apply the ID View to" msgstr "" -#: ipalib/plugins/idviews.py:339 +#: ipalib/plugins/idviews.py:371 msgid "" "Hostgroups to whose hosts apply the ID View to. Please note that view is not " "applied automatically to any hosts added to the hostgroup after running the " "idview-apply command." msgstr "" -#: ipalib/plugins/idviews.py:342 ipalib/plugins/idviews.py:385 +#: ipalib/plugins/idviews.py:374 ipalib/plugins/idviews.py:417 msgid "hostgroups" msgstr "" -#: ipalib/plugins/idviews.py:350 +#: ipalib/plugins/idviews.py:382 msgid "Hosts that this ID View was applied to." msgstr "" -#: ipalib/plugins/idviews.py:354 +#: ipalib/plugins/idviews.py:386 msgid "Hosts or hostgroups that this ID View could not be applied to." msgstr "" -#: ipalib/plugins/idviews.py:359 +#: ipalib/plugins/idviews.py:391 msgid "Number of hosts the ID View was applied to:" msgstr "" -#: ipalib/plugins/idviews.py:366 +#: ipalib/plugins/idviews.py:398 msgid "" "Clears ID View from specified hosts or current members of specified " "hostgroups." msgstr "" -#: ipalib/plugins/idviews.py:369 +#: ipalib/plugins/idviews.py:401 #, python-format msgid "ID View cleared from %i host." msgstr "" -#: ipalib/plugins/idviews.py:370 +#: ipalib/plugins/idviews.py:402 #, python-format msgid "ID View cleared from %i hosts." msgstr "" -#: ipalib/plugins/idviews.py:377 +#: ipalib/plugins/idviews.py:409 msgid "Hosts to clear (any) ID View from." msgstr "" -#: ipalib/plugins/idviews.py:382 +#: ipalib/plugins/idviews.py:414 msgid "" "Hostgroups whose hosts should have ID Views cleared. Note that view is not " "cleared automatically from any host added to the hostgroup after running " "idview-unapply command." msgstr "" -#: ipalib/plugins/idviews.py:393 +#: ipalib/plugins/idviews.py:425 msgid "Hosts that ID View was cleared from." msgstr "" -#: ipalib/plugins/idviews.py:397 +#: ipalib/plugins/idviews.py:429 msgid "Hosts or hostgroups that ID View could not be cleared from." msgstr "" -#: ipalib/plugins/idviews.py:402 +#: ipalib/plugins/idviews.py:434 msgid "Number of hosts that had a ID View was unset:" msgstr "" -#: ipalib/plugins/idviews.py:445 +#: ipalib/plugins/idviews.py:470 +msgid "" +"You are trying to reference a magic private group which is not allowed to be " +"overriden. Try overriding the GID attribute of the corresponding user " +"instead." +msgstr "" + +#: ipalib/plugins/idviews.py:507 msgid "IPA object" msgstr "" -#: ipalib/plugins/idviews.py:446 +#: ipalib/plugins/idviews.py:508 msgid "" "system IPA objects (e.g system groups, user private groups) cannot be " -"overriden" +"overridden" msgstr "" -#: ipalib/plugins/idviews.py:527 +#: ipalib/plugins/idviews.py:602 #, python-format msgid "Anchor '%(anchor)s' could not be resolved." msgstr "" -#: ipalib/plugins/idviews.py:549 +#: ipalib/plugins/idviews.py:649 msgid "Anchor to override" msgstr "" -#: ipalib/plugins/idviews.py:594 +#: ipalib/plugins/idviews.py:713 msgid "Default Trust View cannot contain IPA users" msgstr "" -#: ipalib/plugins/idviews.py:598 +#: ipalib/plugins/idviews.py:717 msgid "Add a new ID override." msgstr "" -#: ipalib/plugins/idviews.py:599 +#: ipalib/plugins/idviews.py:718 #, python-format msgid "Added ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:612 +#: ipalib/plugins/idviews.py:733 msgid "Delete an ID override." msgstr "" -#: ipalib/plugins/idviews.py:613 +#: ipalib/plugins/idviews.py:734 #, python-format msgid "Deleted ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:617 +#: ipalib/plugins/idviews.py:759 msgid "Modify an ID override." msgstr "" -#: ipalib/plugins/idviews.py:618 +#: ipalib/plugins/idviews.py:760 #, python-format msgid "Modified an ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:623 +#: ipalib/plugins/idviews.py:767 msgid "ID override" msgstr "" -#: ipalib/plugins/idviews.py:624 +#: ipalib/plugins/idviews.py:768 msgid "ID overrides cannot be renamed" msgstr "" -#: ipalib/plugins/idviews.py:636 +#: ipalib/plugins/idviews.py:780 msgid "Search for an ID override." msgstr "" -#: ipalib/plugins/idviews.py:637 +#: ipalib/plugins/idviews.py:781 #, python-format msgid "%(count)d ID override matched" msgid_plural "%(count)d ID overrides matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:647 +#: ipalib/plugins/idviews.py:793 msgid "Display information about an ID override." msgstr "" -#: ipalib/plugins/idviews.py:657 ipalib/plugins/idviews.py:661 +#: ipalib/plugins/idviews.py:805 ipalib/plugins/idviews.py:809 msgid "User ID override" msgstr "" -#: ipalib/plugins/idviews.py:658 ipalib/plugins/idviews.py:660 +#: ipalib/plugins/idviews.py:806 ipalib/plugins/idviews.py:808 msgid "User ID overrides" msgstr "" -#: ipalib/plugins/idviews.py:696 +#: ipalib/plugins/idviews.py:844 msgid "User ID Number" msgstr "" -#: ipalib/plugins/idviews.py:740 ipalib/plugins/idviews.py:744 +#: ipalib/plugins/idviews.py:895 ipalib/plugins/idviews.py:899 msgid "Group ID override" msgstr "" -#: ipalib/plugins/idviews.py:741 ipalib/plugins/idviews.py:743 +#: ipalib/plugins/idviews.py:896 ipalib/plugins/idviews.py:898 msgid "Group ID overrides" msgstr "" -#: ipalib/plugins/idviews.py:786 +#: ipalib/plugins/idviews.py:941 msgid "Add a new User ID override." msgstr "" -#: ipalib/plugins/idviews.py:787 +#: ipalib/plugins/idviews.py:942 #, python-format msgid "Added User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:809 +#: ipalib/plugins/idviews.py:964 msgid "Delete an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:810 +#: ipalib/plugins/idviews.py:965 #, python-format msgid "Deleted User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:815 +#: ipalib/plugins/idviews.py:970 msgid "Modify an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:816 +#: ipalib/plugins/idviews.py:971 #, python-format msgid "Modified an User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:844 +#: ipalib/plugins/idviews.py:999 msgid "Search for an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:845 +#: ipalib/plugins/idviews.py:1000 #, python-format msgid "%(count)d User ID override matched" msgid_plural "%(count)d User ID overrides matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:858 +#: ipalib/plugins/idviews.py:1013 msgid "Display information about an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:869 +#: ipalib/plugins/idviews.py:1024 msgid "Add a new Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:870 +#: ipalib/plugins/idviews.py:1025 #, python-format msgid "Added Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:875 +#: ipalib/plugins/idviews.py:1030 msgid "Delete an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:876 +#: ipalib/plugins/idviews.py:1031 #, python-format msgid "Deleted Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:881 +#: ipalib/plugins/idviews.py:1036 msgid "Modify an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:882 +#: ipalib/plugins/idviews.py:1037 #, python-format msgid "Modified an Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:887 +#: ipalib/plugins/idviews.py:1042 msgid "Search for an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:888 +#: ipalib/plugins/idviews.py:1043 #, python-format msgid "%(count)d Group ID override matched" msgid_plural "%(count)d Group ID overrides matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:894 +#: ipalib/plugins/idviews.py:1049 msgid "Display information about an Group ID override." msgstr "" -#: ipalib/plugins/internal.py:48 ipalib/plugins/internal.py:57 +#: ipalib/plugins/internal.py:49 ipalib/plugins/internal.py:58 msgid "Name of object to export" msgstr "" -#: ipalib/plugins/internal.py:51 ipalib/plugins/internal.py:60 +#: ipalib/plugins/internal.py:52 ipalib/plugins/internal.py:61 msgid "Name of method to export" msgstr "" -#: ipalib/plugins/internal.py:63 +#: ipalib/plugins/internal.py:64 msgid "Name of command to export" msgstr "" -#: ipalib/plugins/internal.py:68 +#: ipalib/plugins/internal.py:69 msgid "Dict of JSON encoded IPA Objects" msgstr "" -#: ipalib/plugins/internal.py:69 +#: ipalib/plugins/internal.py:70 msgid "Dict of JSON encoded IPA Methods" msgstr "" -#: ipalib/plugins/internal.py:70 +#: ipalib/plugins/internal.py:71 msgid "Dict of JSON encoded IPA Commands" msgstr "" -#: ipalib/plugins/internal.py:151 +#: ipalib/plugins/internal.py:152 msgid "Your session has expired. Please re-login." msgstr "" -#: ipalib/plugins/internal.py:155 ipalib/plugins/internal.py:209 +#: ipalib/plugins/internal.py:156 ipalib/plugins/internal.py:210 msgid "Apply" msgstr "" -#: ipalib/plugins/internal.py:156 +#: ipalib/plugins/internal.py:157 msgid "Rebuild auto membership" msgstr "" -#: ipalib/plugins/internal.py:157 +#: ipalib/plugins/internal.py:158 msgid "Are you sure you want to rebuild auto membership?" msgstr "" -#: ipalib/plugins/internal.py:159 +#: ipalib/plugins/internal.py:160 msgid "Are you sure you want to proceed with the action?" msgstr "" -#: ipalib/plugins/internal.py:160 +#: ipalib/plugins/internal.py:161 #, python-brace-format msgid "Are you sure you want to delete ${object}?" msgstr "" -#: ipalib/plugins/internal.py:161 +#: ipalib/plugins/internal.py:162 #, python-brace-format msgid "Are you sure you want to disable ${object}?" msgstr "" -#: ipalib/plugins/internal.py:162 +#: ipalib/plugins/internal.py:163 #, python-brace-format msgid "Are you sure you want to enable ${object}?" msgstr "" -#: ipalib/plugins/internal.py:163 +#: ipalib/plugins/internal.py:164 msgid "Actions" msgstr "" -#: ipalib/plugins/internal.py:167 +#: ipalib/plugins/internal.py:168 #, python-brace-format msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:168 +#: ipalib/plugins/internal.py:169 #, python-brace-format msgid "Add RunAs Groups into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:169 +#: ipalib/plugins/internal.py:170 #, python-brace-format msgid "Add ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:170 +#: ipalib/plugins/internal.py:171 #, python-brace-format msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:171 +#: ipalib/plugins/internal.py:172 #, python-brace-format msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:172 +#: ipalib/plugins/internal.py:173 #, python-brace-format msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:173 +#: ipalib/plugins/internal.py:174 #, python-brace-format msgid "Add ${entity} ${primary_key} into ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:175 +#: ipalib/plugins/internal.py:176 #, python-brace-format msgid "${count} item(s) added" msgstr "" -#: ipalib/plugins/internal.py:176 +#: ipalib/plugins/internal.py:177 msgid "Direct Membership" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipalib/plugins/internal.py:178 #, python-brace-format msgid "Filter available ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:178 +#: ipalib/plugins/internal.py:179 msgid "Indirect Membership" msgstr "" -#: ipalib/plugins/internal.py:179 +#: ipalib/plugins/internal.py:180 msgid "No entries." msgstr "" -#: ipalib/plugins/internal.py:180 +#: ipalib/plugins/internal.py:181 #, python-brace-format msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/internal.py:182 +#: ipalib/plugins/internal.py:183 #, python-brace-format msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:183 +#: ipalib/plugins/internal.py:184 #, python-brace-format msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:184 +#: ipalib/plugins/internal.py:185 #, python-brace-format msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:185 +#: ipalib/plugins/internal.py:186 #, python-brace-format msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:186 +#: ipalib/plugins/internal.py:187 #, python-brace-format msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:187 +#: ipalib/plugins/internal.py:188 #, python-brace-format msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:188 +#: ipalib/plugins/internal.py:189 #, python-brace-format msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:190 +#: ipalib/plugins/internal.py:191 #, python-brace-format msgid "${count} item(s) removed" msgstr "" -#: ipalib/plugins/internal.py:191 +#: ipalib/plugins/internal.py:192 msgid "Show Results" msgstr "" -#: ipalib/plugins/internal.py:194 -msgid "Implicit method (password) will be used if no method is chosen." +#: ipalib/plugins/internal.py:195 +msgid "" +"<p>Implicit method (password) will be used if no method is chosen.</" +"p><p><strong>Password + Two-factor:</strong> LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.</" +"p><p><strong>RADIUS with another type:</strong> Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.</p>" msgstr "" -#: ipalib/plugins/internal.py:195 +#: ipalib/plugins/internal.py:196 msgid "Two factor authentication (password + OTP)" msgstr "" -#: ipalib/plugins/internal.py:197 +#: ipalib/plugins/internal.py:198 msgid "Radius" msgstr "" -#: ipalib/plugins/internal.py:198 +#: ipalib/plugins/internal.py:199 msgid "Disable per-user override" msgstr "" -#: ipalib/plugins/internal.py:199 +#: ipalib/plugins/internal.py:200 msgid "" -"Per-user setting, overwrites the global setting if any option is checked." +"<p>Per-user setting, overwrites the global setting if any option is checked." +"</p><p><strong>Password + Two-factor:</strong> LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.</" +"p><p><strong>RADIUS with another type:</strong> Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.</p>" msgstr "" -#: ipalib/plugins/internal.py:202 ipalib/plugins/internal.py:255 +#: ipalib/plugins/internal.py:203 ipalib/plugins/internal.py:258 msgid "About" msgstr "" -#: ipalib/plugins/internal.py:203 +#: ipalib/plugins/internal.py:204 msgid "Activate" msgstr "" -#: ipalib/plugins/internal.py:204 +#: ipalib/plugins/internal.py:205 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:205 +#: ipalib/plugins/internal.py:206 msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:206 +#: ipalib/plugins/internal.py:207 msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:207 +#: ipalib/plugins/internal.py:208 msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:208 +#: ipalib/plugins/internal.py:209 msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:210 +#: ipalib/plugins/internal.py:211 msgid "Back" msgstr "" -#: ipalib/plugins/internal.py:211 +#: ipalib/plugins/internal.py:212 msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:212 +#: ipalib/plugins/internal.py:213 msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:213 ipalib/plugins/internal.py:782 +#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:802 msgid "Disable" msgstr "" -#: ipalib/plugins/internal.py:214 +#: ipalib/plugins/internal.py:215 msgid "Edit" msgstr "" -#: ipalib/plugins/internal.py:215 ipalib/plugins/internal.py:784 +#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:804 msgid "Enable" msgstr "" -#: ipalib/plugins/internal.py:217 +#: ipalib/plugins/internal.py:218 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:218 +#: ipalib/plugins/internal.py:219 msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:219 +#: ipalib/plugins/internal.py:220 +msgid "Hide" +msgstr "" + +#: ipalib/plugins/internal.py:221 msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:220 +#: ipalib/plugins/internal.py:222 msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:221 +#: ipalib/plugins/internal.py:223 msgid "Refresh" msgstr "" -#: ipalib/plugins/internal.py:222 +#: ipalib/plugins/internal.py:224 msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:223 +#: ipalib/plugins/internal.py:225 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:224 +#: ipalib/plugins/internal.py:226 msgid "Reset Password and Login" msgstr "" -#: ipalib/plugins/internal.py:225 +#: ipalib/plugins/internal.py:227 msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:226 +#: ipalib/plugins/internal.py:228 msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipalib/plugins/internal.py:229 msgid "Revert" msgstr "" -#: ipalib/plugins/internal.py:228 +#: ipalib/plugins/internal.py:230 msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipalib/plugins/internal.py:231 msgid "Save" msgstr "" -#: ipalib/plugins/internal.py:230 +#: ipalib/plugins/internal.py:232 msgid "Set" msgstr "" -#: ipalib/plugins/internal.py:232 +#: ipalib/plugins/internal.py:233 +msgid "Show" +msgstr "" + +#: ipalib/plugins/internal.py:235 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:233 +#: ipalib/plugins/internal.py:236 msgid "View" msgstr "" -#: ipalib/plugins/internal.py:236 +#: ipalib/plugins/internal.py:239 msgid "Collapse All" msgstr "" -#: ipalib/plugins/internal.py:237 +#: ipalib/plugins/internal.py:240 msgid "Expand All" msgstr "" -#: ipalib/plugins/internal.py:238 +#: ipalib/plugins/internal.py:241 msgid "General" msgstr "" -#: ipalib/plugins/internal.py:239 +#: ipalib/plugins/internal.py:242 msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:240 +#: ipalib/plugins/internal.py:243 #, python-brace-format msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:241 +#: ipalib/plugins/internal.py:244 msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:242 +#: ipalib/plugins/internal.py:245 #, python-brace-format msgid "${entity} ${primary_key} updated" msgstr "" -#: ipalib/plugins/internal.py:245 +#: ipalib/plugins/internal.py:248 #, python-brace-format msgid "${entity} successfully added" msgstr "" -#: ipalib/plugins/internal.py:246 +#: ipalib/plugins/internal.py:249 #, python-brace-format msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/internal.py:247 +#: ipalib/plugins/internal.py:250 msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:248 +#: ipalib/plugins/internal.py:251 msgid "Some operations failed." msgstr "" -#: ipalib/plugins/internal.py:249 +#: ipalib/plugins/internal.py:252 msgid "Operations Error" msgstr "" -#: ipalib/plugins/internal.py:250 +#: ipalib/plugins/internal.py:253 msgid "Confirmation" msgstr "" -#: ipalib/plugins/internal.py:251 +#: ipalib/plugins/internal.py:254 msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:252 +#: ipalib/plugins/internal.py:255 msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/internal.py:253 +#: ipalib/plugins/internal.py:256 #, python-brace-format msgid "Edit ${entity}" msgstr "" -#: ipalib/plugins/internal.py:254 +#: ipalib/plugins/internal.py:257 msgid "Hide details" msgstr "" -#: ipalib/plugins/internal.py:256 +#: ipalib/plugins/internal.py:259 #, python-brace-format msgid "${product}, version: ${version}" msgstr "" -#: ipalib/plugins/internal.py:257 +#: ipalib/plugins/internal.py:260 msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:258 +#: ipalib/plugins/internal.py:261 msgid "Redirection" msgstr "" -#: ipalib/plugins/internal.py:259 +#: ipalib/plugins/internal.py:262 msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/internal.py:260 +#: ipalib/plugins/internal.py:263 #, python-brace-format msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/internal.py:261 +#: ipalib/plugins/internal.py:264 msgid "Show details" msgstr "" -#: ipalib/plugins/internal.py:262 +#: ipalib/plugins/internal.py:265 msgid "Success" msgstr "" -#: ipalib/plugins/internal.py:263 +#: ipalib/plugins/internal.py:266 msgid "Validation error" msgstr "" -#: ipalib/plugins/internal.py:264 +#: ipalib/plugins/internal.py:267 msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/internal.py:267 +#: ipalib/plugins/internal.py:270 msgid "Please try the following options:" msgstr "" -#: ipalib/plugins/internal.py:268 +#: ipalib/plugins/internal.py:271 msgid "If the problem persists please contact the system administrator." msgstr "" -#: ipalib/plugins/internal.py:269 +#: ipalib/plugins/internal.py:272 msgid "Refresh the page." msgstr "" -#: ipalib/plugins/internal.py:270 +#: ipalib/plugins/internal.py:273 msgid "Reload the browser." msgstr "" -#: ipalib/plugins/internal.py:271 +#: ipalib/plugins/internal.py:274 msgid "Return to the main page and retry the operation" msgstr "" -#: ipalib/plugins/internal.py:272 +#: ipalib/plugins/internal.py:275 #, python-brace-format msgid "An error has occurred (${error})" msgstr "" -#: ipalib/plugins/internal.py:276 +#: ipalib/plugins/internal.py:279 msgid "HTTP Error" msgstr "" -#: ipalib/plugins/internal.py:277 +#: ipalib/plugins/internal.py:280 msgid "Internal Error" msgstr "" -#: ipalib/plugins/internal.py:278 +#: ipalib/plugins/internal.py:281 msgid "IPA Error" msgstr "" -#: ipalib/plugins/internal.py:279 +#: ipalib/plugins/internal.py:282 msgid "No response" msgstr "" -#: ipalib/plugins/internal.py:280 +#: ipalib/plugins/internal.py:283 msgid "Unknown Error" msgstr "" -#: ipalib/plugins/internal.py:281 +#: ipalib/plugins/internal.py:284 msgid "URL" msgstr "" -#: ipalib/plugins/internal.py:284 +#: ipalib/plugins/internal.py:287 #, python-brace-format msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/internal.py:285 +#: ipalib/plugins/internal.py:288 #, python-brace-format msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/internal.py:286 +#: ipalib/plugins/internal.py:289 #, python-brace-format msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/internal.py:289 +#: ipalib/plugins/internal.py:292 msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:290 ipalib/plugins/internal.py:775 +#: ipalib/plugins/internal.py:293 ipalib/plugins/internal.py:795 msgid "Search" msgstr "" -#: ipalib/plugins/internal.py:292 +#: ipalib/plugins/internal.py:295 msgid "False" msgstr "" -#: ipalib/plugins/internal.py:294 +#: ipalib/plugins/internal.py:297 #, python-brace-format msgid "Allow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:295 +#: ipalib/plugins/internal.py:298 #, python-brace-format msgid "Allow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:296 +#: ipalib/plugins/internal.py:299 msgid "Allowed to create keytab" msgstr "" -#: ipalib/plugins/internal.py:297 +#: ipalib/plugins/internal.py:300 msgid "Allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/internal.py:298 +#: ipalib/plugins/internal.py:301 #, python-brace-format msgid "Disallow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:299 +#: ipalib/plugins/internal.py:302 #, python-brace-format msgid "Disallow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:302 +#: ipalib/plugins/internal.py:305 msgid "Inherited from server configuration" msgstr "" -#: ipalib/plugins/internal.py:303 +#: ipalib/plugins/internal.py:306 msgid "MS-PAC" msgstr "" -#: ipalib/plugins/internal.py:304 +#: ipalib/plugins/internal.py:307 msgid "Override inherited settings" msgstr "" -#: ipalib/plugins/internal.py:305 +#: ipalib/plugins/internal.py:308 msgid "PAD" msgstr "" -#: ipalib/plugins/internal.py:308 +#: ipalib/plugins/internal.py:311 msgid "" "<i class=\"fa fa-info-circle\"></i> To login with <strong>username and " "password</strong>, enter them in the corresponding fields, then click Login." msgstr "" -#: ipalib/plugins/internal.py:309 +#: ipalib/plugins/internal.py:312 msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:310 +#: ipalib/plugins/internal.py:313 #, python-brace-format msgid "" "<i class=\"fa fa-info-circle\"></i> To login with <strong>Kerberos</strong>, " @@ -7789,1500 +7919,1535 @@ msgid "" "browser correctly, then click Login." msgstr "" -#: ipalib/plugins/internal.py:311 +#: ipalib/plugins/internal.py:314 msgid "Login" msgstr "" -#: ipalib/plugins/internal.py:312 +#: ipalib/plugins/internal.py:315 msgid "Logout" msgstr "" -#: ipalib/plugins/internal.py:313 +#: ipalib/plugins/internal.py:316 msgid "Logout error" msgstr "" -#: ipalib/plugins/internal.py:315 +#: ipalib/plugins/internal.py:318 msgid "Sync OTP Token" msgstr "" -#: ipalib/plugins/internal.py:316 ipalib/plugins/vault.py:157 +#: ipalib/plugins/internal.py:319 msgid "Username" msgstr "" -#: ipalib/plugins/internal.py:319 +#: ipalib/plugins/internal.py:322 msgid "number of passwords" msgstr "" -#: ipalib/plugins/internal.py:320 +#: ipalib/plugins/internal.py:323 msgid "seconds" msgstr "" -#: ipalib/plugins/internal.py:324 ipalib/plugins/internal.py:329 -#: ipalib/plugins/internal.py:590 +#: ipalib/plugins/internal.py:327 ipalib/plugins/internal.py:332 +#: ipalib/plugins/internal.py:609 msgid "Attribute" msgstr "" -#: ipalib/plugins/internal.py:327 +#: ipalib/plugins/internal.py:330 #, python-brace-format msgid "Add Condition into ${pkey}" msgstr "" -#: ipalib/plugins/internal.py:328 +#: ipalib/plugins/internal.py:331 msgid "Add Rule" msgstr "" -#: ipalib/plugins/internal.py:330 +#: ipalib/plugins/internal.py:333 msgid "Default host group" msgstr "" -#: ipalib/plugins/internal.py:331 +#: ipalib/plugins/internal.py:334 msgid "Default user group" msgstr "" -#: ipalib/plugins/internal.py:332 +#: ipalib/plugins/internal.py:335 msgid "Exclusive" msgstr "" -#: ipalib/plugins/internal.py:333 +#: ipalib/plugins/internal.py:336 msgid "Expression" msgstr "" -#: ipalib/plugins/internal.py:334 +#: ipalib/plugins/internal.py:337 msgid "Host group rule" msgstr "" -#: ipalib/plugins/internal.py:335 +#: ipalib/plugins/internal.py:338 msgid "Host group rules" msgstr "" -#: ipalib/plugins/internal.py:336 +#: ipalib/plugins/internal.py:339 msgid "Inclusive" msgstr "" -#: ipalib/plugins/internal.py:337 +#: ipalib/plugins/internal.py:340 msgid "User group rule" msgstr "" -#: ipalib/plugins/internal.py:338 +#: ipalib/plugins/internal.py:341 msgid "User group rules" msgstr "" -#: ipalib/plugins/internal.py:343 +#: ipalib/plugins/internal.py:346 msgid "Automount Location Settings" msgstr "" -#: ipalib/plugins/internal.py:346 +#: ipalib/plugins/internal.py:349 msgid "Map Type" msgstr "" -#: ipalib/plugins/internal.py:347 +#: ipalib/plugins/internal.py:350 msgid "Direct" msgstr "" -#: ipalib/plugins/internal.py:348 +#: ipalib/plugins/internal.py:351 msgid "Indirect" msgstr "" -#: ipalib/plugins/internal.py:351 +#: ipalib/plugins/internal.py:354 ipalib/plugins/internal.py:490 +#: ipalib/plugins/internal.py:581 ipalib/plugins/internal.py:651 +#: ipalib/plugins/internal.py:702 +msgid "Any Host" +msgstr "" + +#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:491 +msgid "Any Service" +msgstr "" + +#: ipalib/plugins/internal.py:356 +msgid "Any Profile" +msgstr "" + +#: ipalib/plugins/internal.py:357 ipalib/plugins/internal.py:492 +#: ipalib/plugins/internal.py:582 ipalib/plugins/internal.py:652 +#: ipalib/plugins/internal.py:703 +msgid "Anyone" +msgstr "" + +#: ipalib/plugins/internal.py:358 ipalib/plugins/internal.py:494 +#: ipalib/plugins/internal.py:708 +msgid "Rule status" +msgstr "" + +#: ipalib/plugins/internal.py:360 ipalib/plugins/internal.py:496 +#: ipalib/plugins/internal.py:588 ipalib/plugins/internal.py:654 +#: ipalib/plugins/internal.py:715 +msgid "Specified Hosts and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:361 +msgid "Specified Profiles" +msgstr "" + +#: ipalib/plugins/internal.py:362 ipalib/plugins/internal.py:497 +msgid "Specified Services and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:363 ipalib/plugins/internal.py:498 +#: ipalib/plugins/internal.py:589 ipalib/plugins/internal.py:655 +#: ipalib/plugins/internal.py:716 +msgid "Specified Users and Groups" +msgstr "" + +#: ipalib/plugins/internal.py:364 +msgid "Permitted to have certificates issued" +msgstr "" + +#: ipalib/plugins/internal.py:367 msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:352 +#: ipalib/plugins/internal.py:368 +msgid "Add principal" +msgstr "" + +#: ipalib/plugins/internal.py:369 msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:353 +#: ipalib/plugins/internal.py:370 msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:794 +#: ipalib/plugins/internal.py:372 ipalib/plugins/internal.py:814 msgid "Certificates" msgstr "" -#: ipalib/plugins/internal.py:356 +#: ipalib/plugins/internal.py:373 msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:357 +#: ipalib/plugins/internal.py:374 msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:358 +#: ipalib/plugins/internal.py:375 msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:359 +#: ipalib/plugins/internal.py:376 msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:360 +#: ipalib/plugins/internal.py:377 msgid "Issued on from" msgstr "" -#: ipalib/plugins/internal.py:361 +#: ipalib/plugins/internal.py:378 msgid "Issued on to" msgstr "" -#: ipalib/plugins/internal.py:362 +#: ipalib/plugins/internal.py:379 msgid "Maximum serial number" msgstr "" -#: ipalib/plugins/internal.py:363 +#: ipalib/plugins/internal.py:380 msgid "Minimum serial number" msgstr "" -#: ipalib/plugins/internal.py:365 +#: ipalib/plugins/internal.py:382 msgid "Revoked on from" msgstr "" -#: ipalib/plugins/internal.py:366 +#: ipalib/plugins/internal.py:383 msgid "Revoked on to" msgstr "" -#: ipalib/plugins/internal.py:368 +#: ipalib/plugins/internal.py:385 msgid "Valid not after from" msgstr "" -#: ipalib/plugins/internal.py:369 +#: ipalib/plugins/internal.py:386 msgid "Valid not after to" msgstr "" -#: ipalib/plugins/internal.py:370 +#: ipalib/plugins/internal.py:387 msgid "Valid not before from" msgstr "" -#: ipalib/plugins/internal.py:371 +#: ipalib/plugins/internal.py:388 msgid "Valid not before to" msgstr "" -#: ipalib/plugins/internal.py:372 +#: ipalib/plugins/internal.py:389 msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:373 +#: ipalib/plugins/internal.py:390 msgid "Get Certificate" msgstr "" -#: ipalib/plugins/internal.py:374 +#: ipalib/plugins/internal.py:391 #, python-brace-format msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:375 +#: ipalib/plugins/internal.py:392 +msgid "Issue New Certificate" +msgstr "" + +#: ipalib/plugins/internal.py:393 msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:376 +#: ipalib/plugins/internal.py:394 msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:377 +#: ipalib/plugins/internal.py:395 msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:378 +#: ipalib/plugins/internal.py:396 msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:379 +#: ipalib/plugins/internal.py:397 msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:380 +#: ipalib/plugins/internal.py:398 msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:381 +#: ipalib/plugins/internal.py:399 msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:382 +#: ipalib/plugins/internal.py:400 msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:383 +#: ipalib/plugins/internal.py:401 msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:384 +#: ipalib/plugins/internal.py:402 msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:385 +#: ipalib/plugins/internal.py:403 +#, python-brace-format +msgid "${count} certificate(s) present" +msgstr "" + +#: ipalib/plugins/internal.py:404 msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:386 +#: ipalib/plugins/internal.py:405 msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:387 +#: ipalib/plugins/internal.py:406 msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:388 +#: ipalib/plugins/internal.py:407 #, python-brace-format msgid "" "<ol> <li>Create a certificate database or use an existing one. To create a " "new database:<br/> <code># certutil -N -d <database path></code> </li> " -"<li>Create a CSR with subject <em>CN=<hostname>,O=<realm></em>, " -"for example:<br/> <code># certutil -R -d <database path> -a -g <key " -"size> -s 'CN=${hostname},O=${realm}'</code> </li> <li> Copy and paste the " -"CSR (from <em>-----BEGIN NEW CERTIFICATE REQUEST-----</em> to <em>-----END " -"NEW CERTIFICATE REQUEST-----</em>) into the text area below: </li> </ol>" +"<li>Create a CSR with subject <em>CN=<${cn_name}>,O=<realm></" +"em>, for example:<br/> <code># certutil -R -d <database path> -a -g " +"<key size> -s 'CN=${cn},O=${realm}'</code> </li> <li> Copy and paste " +"the CSR (from <em>-----BEGIN NEW CERTIFICATE REQUEST-----</em> to <em>-----" +"END NEW CERTIFICATE REQUEST-----</em>) into the text area below: </li> </ol>" msgstr "" -#: ipalib/plugins/internal.py:389 +#: ipalib/plugins/internal.py:408 msgid "Certificate requested" msgstr "" -#: ipalib/plugins/internal.py:390 +#: ipalib/plugins/internal.py:409 #, python-brace-format msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:391 +#: ipalib/plugins/internal.py:410 msgid "Restore Certificate" msgstr "" -#: ipalib/plugins/internal.py:392 +#: ipalib/plugins/internal.py:411 msgid "" "To confirm your intention to restore this certificate, click the \"Restore\" " "button." msgstr "" -#: ipalib/plugins/internal.py:393 +#: ipalib/plugins/internal.py:412 msgid "Certificate restored" msgstr "" -#: ipalib/plugins/internal.py:395 +#: ipalib/plugins/internal.py:414 #, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:396 +#: ipalib/plugins/internal.py:415 msgid "Revoke Certificate" msgstr "" -#: ipalib/plugins/internal.py:397 +#: ipalib/plugins/internal.py:416 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:398 +#: ipalib/plugins/internal.py:417 msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:401 +#: ipalib/plugins/internal.py:420 msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:403 +#: ipalib/plugins/internal.py:422 msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:404 +#: ipalib/plugins/internal.py:423 msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:405 +#: ipalib/plugins/internal.py:424 msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:406 +#: ipalib/plugins/internal.py:425 msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:407 +#: ipalib/plugins/internal.py:426 #, python-brace-format msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:408 +#: ipalib/plugins/internal.py:427 msgid "View Certificate" msgstr "" -#: ipalib/plugins/internal.py:411 +#: ipalib/plugins/internal.py:430 msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:412 +#: ipalib/plugins/internal.py:431 msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:413 +#: ipalib/plugins/internal.py:432 msgid "SELinux Options" msgstr "" -#: ipalib/plugins/internal.py:414 +#: ipalib/plugins/internal.py:433 msgid "Service Options" msgstr "" -#: ipalib/plugins/internal.py:415 +#: ipalib/plugins/internal.py:434 msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:420 +#: ipalib/plugins/internal.py:439 msgid "Forward first" msgstr "" -#: ipalib/plugins/internal.py:421 +#: ipalib/plugins/internal.py:440 msgid "Forwarding disabled" msgstr "" -#: ipalib/plugins/internal.py:422 +#: ipalib/plugins/internal.py:441 msgid "Forward only" msgstr "" -#: ipalib/plugins/internal.py:423 ipalib/plugins/internal.py:692 -#: ipalib/plugins/internal.py:720 +#: ipalib/plugins/internal.py:442 ipalib/plugins/internal.py:711 +#: ipalib/plugins/internal.py:740 msgid "Options" msgstr "" -#: ipalib/plugins/internal.py:426 ipalib/plugins/vault.py:687 +#: ipalib/plugins/internal.py:445 ipalib/plugins/vault.py:1805 msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:427 +#: ipalib/plugins/internal.py:446 msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:428 +#: ipalib/plugins/internal.py:447 msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:429 +#: ipalib/plugins/internal.py:448 msgid "Address not valid, can't redirect" msgstr "" -#: ipalib/plugins/internal.py:430 +#: ipalib/plugins/internal.py:449 msgid "Create dns record" msgstr "" -#: ipalib/plugins/internal.py:431 +#: ipalib/plugins/internal.py:450 msgid "Creating record." msgstr "" -#: ipalib/plugins/internal.py:432 +#: ipalib/plugins/internal.py:451 msgid "Record creation failed." msgstr "" -#: ipalib/plugins/internal.py:433 +#: ipalib/plugins/internal.py:452 msgid "Checking if record exists." msgstr "" -#: ipalib/plugins/internal.py:434 +#: ipalib/plugins/internal.py:453 msgid "Record not found." msgstr "" -#: ipalib/plugins/internal.py:435 +#: ipalib/plugins/internal.py:454 msgid "Redirection to PTR record" msgstr "" -#: ipalib/plugins/internal.py:436 +#: ipalib/plugins/internal.py:455 #, python-brace-format msgid "Zone found: ${zone}" msgstr "" -#: ipalib/plugins/internal.py:437 +#: ipalib/plugins/internal.py:456 msgid "Target reverse zone not found." msgstr "" -#: ipalib/plugins/internal.py:438 +#: ipalib/plugins/internal.py:457 msgid "Fetching DNS zones." msgstr "" -#: ipalib/plugins/internal.py:439 +#: ipalib/plugins/internal.py:458 msgid "An error occurred while fetching dns zones." msgstr "" -#: ipalib/plugins/internal.py:440 +#: ipalib/plugins/internal.py:459 msgid "You will be redirected to DNS Zone." msgstr "" -#: ipalib/plugins/internal.py:441 +#: ipalib/plugins/internal.py:460 msgid "Standard Record Types" msgstr "" -#: ipalib/plugins/internal.py:442 +#: ipalib/plugins/internal.py:461 msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:443 +#: ipalib/plugins/internal.py:462 msgid "Record Type" msgstr "" -#: ipalib/plugins/internal.py:446 +#: ipalib/plugins/internal.py:465 msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:447 +#: ipalib/plugins/internal.py:466 msgid "Add Permission" msgstr "" -#: ipalib/plugins/internal.py:448 +#: ipalib/plugins/internal.py:467 #, python-brace-format msgid "Are you sure you want to add permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:449 +#: ipalib/plugins/internal.py:468 msgid "Remove Permission" msgstr "" -#: ipalib/plugins/internal.py:450 +#: ipalib/plugins/internal.py:469 #, python-brace-format msgid "Are you sure you want to remove permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:451 +#: ipalib/plugins/internal.py:470 msgid "Skip DNS check" msgstr "" -#: ipalib/plugins/internal.py:452 +#: ipalib/plugins/internal.py:471 msgid "Do you want to check if new authoritative nameserver address is in DNS" msgstr "" -#: ipalib/plugins/internal.py:453 +#: ipalib/plugins/internal.py:472 msgid "Authoritative nameserver change" msgstr "" -#: ipalib/plugins/internal.py:458 +#: ipalib/plugins/internal.py:477 msgid "Level" msgstr "" -#: ipalib/plugins/internal.py:459 +#: ipalib/plugins/internal.py:478 msgid "Set Domain Level" msgstr "" -#: ipalib/plugins/internal.py:462 +#: ipalib/plugins/internal.py:481 msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:463 ipalib/plugins/internal.py:564 -#: ipalib/plugins/internal.py:687 +#: ipalib/plugins/internal.py:482 ipalib/plugins/internal.py:583 +#: ipalib/plugins/internal.py:706 msgid "External" msgstr "" -#: ipalib/plugins/internal.py:464 +#: ipalib/plugins/internal.py:483 msgid "Change to external group" msgstr "" -#: ipalib/plugins/internal.py:465 +#: ipalib/plugins/internal.py:484 msgid "Change to POSIX group" msgstr "" -#: ipalib/plugins/internal.py:466 +#: ipalib/plugins/internal.py:485 msgid "Normal" msgstr "" -#: ipalib/plugins/internal.py:467 +#: ipalib/plugins/internal.py:486 msgid "POSIX" msgstr "" -#: ipalib/plugins/internal.py:468 +#: ipalib/plugins/internal.py:487 msgid "Group Type" msgstr "" -#: ipalib/plugins/internal.py:471 ipalib/plugins/internal.py:562 -#: ipalib/plugins/internal.py:632 ipalib/plugins/internal.py:683 -msgid "Any Host" -msgstr "" - -#: ipalib/plugins/internal.py:472 -msgid "Any Service" -msgstr "" - -#: ipalib/plugins/internal.py:473 ipalib/plugins/internal.py:563 -#: ipalib/plugins/internal.py:633 ipalib/plugins/internal.py:684 -msgid "Anyone" -msgstr "" - -#: ipalib/plugins/internal.py:474 +#: ipalib/plugins/internal.py:493 msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:475 ipalib/plugins/internal.py:689 -msgid "Rule status" -msgstr "" - -#: ipalib/plugins/internal.py:476 +#: ipalib/plugins/internal.py:495 msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:477 ipalib/plugins/internal.py:569 -#: ipalib/plugins/internal.py:635 ipalib/plugins/internal.py:696 -msgid "Specified Hosts and Groups" -msgstr "" - -#: ipalib/plugins/internal.py:478 -msgid "Specified Services and Groups" -msgstr "" - -#: ipalib/plugins/internal.py:479 ipalib/plugins/internal.py:570 -#: ipalib/plugins/internal.py:636 ipalib/plugins/internal.py:697 -msgid "Specified Users and Groups" -msgstr "" - -#: ipalib/plugins/internal.py:480 ipalib/plugins/internal.py:698 +#: ipalib/plugins/internal.py:499 ipalib/plugins/internal.py:717 msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:488 +#: ipalib/plugins/internal.py:507 msgid "Access Denied" msgstr "" -#: ipalib/plugins/internal.py:489 +#: ipalib/plugins/internal.py:508 msgid "Access Granted" msgstr "" -#: ipalib/plugins/internal.py:490 +#: ipalib/plugins/internal.py:509 msgid "Include Disabled" msgstr "" -#: ipalib/plugins/internal.py:491 +#: ipalib/plugins/internal.py:510 msgid "Include Enabled" msgstr "" -#: ipalib/plugins/internal.py:492 +#: ipalib/plugins/internal.py:511 msgid "HBAC Test" msgstr "" -#: ipalib/plugins/internal.py:493 +#: ipalib/plugins/internal.py:512 msgid "Matched" msgstr "" -#: ipalib/plugins/internal.py:494 +#: ipalib/plugins/internal.py:513 msgid "Missing values: " msgstr "" -#: ipalib/plugins/internal.py:495 +#: ipalib/plugins/internal.py:514 msgid "New Test" msgstr "" -#: ipalib/plugins/internal.py:496 +#: ipalib/plugins/internal.py:515 msgid "Rules" msgstr "" -#: ipalib/plugins/internal.py:497 +#: ipalib/plugins/internal.py:516 msgid "Run Test" msgstr "" -#: ipalib/plugins/internal.py:498 +#: ipalib/plugins/internal.py:517 #, python-brace-format msgid "Specify external ${entity}" msgstr "" -#: ipalib/plugins/internal.py:499 +#: ipalib/plugins/internal.py:518 msgid "Unmatched" msgstr "" -#: ipalib/plugins/internal.py:502 +#: ipalib/plugins/internal.py:521 msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:503 ipalib/plugins/internal.py:643 +#: ipalib/plugins/internal.py:522 ipalib/plugins/internal.py:662 msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:504 ipalib/plugins/internal.py:641 +#: ipalib/plugins/internal.py:523 ipalib/plugins/internal.py:660 msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:505 +#: ipalib/plugins/internal.py:524 msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:506 +#: ipalib/plugins/internal.py:525 msgid "Enrolled" msgstr "" -#: ipalib/plugins/internal.py:507 +#: ipalib/plugins/internal.py:526 msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:508 +#: ipalib/plugins/internal.py:527 msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:509 +#: ipalib/plugins/internal.py:528 msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:510 ipalib/plugins/internal.py:644 +#: ipalib/plugins/internal.py:529 ipalib/plugins/internal.py:663 msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:511 +#: ipalib/plugins/internal.py:530 msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:512 ipalib/plugins/internal.py:752 +#: ipalib/plugins/internal.py:531 ipalib/plugins/internal.py:772 msgid "One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:513 +#: ipalib/plugins/internal.py:532 msgid "One-Time-Password Not Present" msgstr "" -#: ipalib/plugins/internal.py:514 +#: ipalib/plugins/internal.py:533 msgid "One-Time-Password Present" msgstr "" -#: ipalib/plugins/internal.py:515 +#: ipalib/plugins/internal.py:534 msgid "Reset OTP" msgstr "" -#: ipalib/plugins/internal.py:516 +#: ipalib/plugins/internal.py:535 msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:517 +#: ipalib/plugins/internal.py:536 msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:518 +#: ipalib/plugins/internal.py:537 msgid "OTP set" msgstr "" -#: ipalib/plugins/internal.py:519 +#: ipalib/plugins/internal.py:538 msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:521 ipalib/plugins/internal.py:648 +#: ipalib/plugins/internal.py:540 ipalib/plugins/internal.py:667 msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:522 +#: ipalib/plugins/internal.py:541 msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:523 ipalib/plugins/internal.py:650 +#: ipalib/plugins/internal.py:542 ipalib/plugins/internal.py:669 #, python-brace-format msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:524 +#: ipalib/plugins/internal.py:543 msgid "Host unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:527 +#: ipalib/plugins/internal.py:546 msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:530 +#: ipalib/plugins/internal.py:549 msgid "User to override" msgstr "" -#: ipalib/plugins/internal.py:531 +#: ipalib/plugins/internal.py:550 msgid "" "Enter trusted or IPA user login. Note: search doesn't list users from " "trusted domains." msgstr "" -#: ipalib/plugins/internal.py:532 +#: ipalib/plugins/internal.py:551 msgid "Enter trusted user login." msgstr "" -#: ipalib/plugins/internal.py:535 +#: ipalib/plugins/internal.py:554 msgid "Group to override" msgstr "" -#: ipalib/plugins/internal.py:536 +#: ipalib/plugins/internal.py:555 msgid "" "Enter trusted or IPA group name. Note: search doesn't list groups from " "trusted domains." msgstr "" -#: ipalib/plugins/internal.py:537 +#: ipalib/plugins/internal.py:556 msgid "Enter trusted group name." msgstr "" -#: ipalib/plugins/internal.py:540 +#: ipalib/plugins/internal.py:559 #, python-brace-format msgid "${primary_key} applies to:" msgstr "" -#: ipalib/plugins/internal.py:541 ipalib/plugins/internal.py:542 +#: ipalib/plugins/internal.py:560 ipalib/plugins/internal.py:561 msgid "Applied to hosts" msgstr "" -#: ipalib/plugins/internal.py:543 +#: ipalib/plugins/internal.py:562 msgid "Apply to host groups" msgstr "" -#: ipalib/plugins/internal.py:544 +#: ipalib/plugins/internal.py:563 #, python-brace-format msgid "Apply ID View ${primary_key} on hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:545 +#: ipalib/plugins/internal.py:564 msgid "Apply to hosts" msgstr "" -#: ipalib/plugins/internal.py:546 +#: ipalib/plugins/internal.py:565 #, python-brace-format msgid "Apply ID view ${primary_key} on ${entity}" msgstr "" -#: ipalib/plugins/internal.py:548 +#: ipalib/plugins/internal.py:567 #, python-brace-format msgid "${primary_key} overrides:" msgstr "" -#: ipalib/plugins/internal.py:549 +#: ipalib/plugins/internal.py:568 msgid "Un-apply from host groups" msgstr "" -#: ipalib/plugins/internal.py:550 +#: ipalib/plugins/internal.py:569 msgid "Un-apply ID Views from hosts of hostgroups" msgstr "" -#: ipalib/plugins/internal.py:551 +#: ipalib/plugins/internal.py:570 #, python-brace-format msgid "Un-apply ID View ${primary_key} from hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:552 +#: ipalib/plugins/internal.py:571 msgid "Un-apply" msgstr "" -#: ipalib/plugins/internal.py:553 +#: ipalib/plugins/internal.py:572 msgid "Un-apply from hosts" msgstr "" -#: ipalib/plugins/internal.py:554 +#: ipalib/plugins/internal.py:573 msgid "Un-apply ID Views from hosts" msgstr "" -#: ipalib/plugins/internal.py:555 +#: ipalib/plugins/internal.py:574 msgid "Are you sure you want to un-apply ID view from selected entries?" msgstr "" -#: ipalib/plugins/internal.py:556 +#: ipalib/plugins/internal.py:575 #, python-brace-format msgid "Un-apply ID View ${primary_key} from hosts" msgstr "" -#: ipalib/plugins/internal.py:559 ipalib/plugins/krbtpolicy.py:118 +#: ipalib/plugins/internal.py:578 ipalib/plugins/krbtpolicy.py:118 #: ipalib/plugins/krbtpolicy.py:119 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/internal.py:568 +#: ipalib/plugins/internal.py:587 msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:576 +#: ipalib/plugins/internal.py:595 msgid "Add OTP Token" msgstr "" -#: ipalib/plugins/internal.py:577 +#: ipalib/plugins/internal.py:596 #, python-brace-format msgid "" "You can use <a href=\"${link}\" target=\"_blank\">FreeOTP<a/> as a software " "OTP token application." msgstr "" -#: ipalib/plugins/internal.py:578 +#: ipalib/plugins/internal.py:597 msgid "Configure your token" msgstr "" -#: ipalib/plugins/internal.py:579 +#: ipalib/plugins/internal.py:598 msgid "" "Configure your token by scanning the QR code below. Click on the QR code if " "you see this on the device you want to configure." msgstr "" -#: ipalib/plugins/internal.py:580 +#: ipalib/plugins/internal.py:599 msgid "OTP Token Settings" msgstr "" -#: ipalib/plugins/internal.py:581 +#: ipalib/plugins/internal.py:600 msgid "Disable token" msgstr "" -#: ipalib/plugins/internal.py:582 +#: ipalib/plugins/internal.py:601 msgid "Enable token" msgstr "" -#: ipalib/plugins/internal.py:583 +#: ipalib/plugins/internal.py:602 msgid "Show QR code" msgstr "" -#: ipalib/plugins/internal.py:584 +#: ipalib/plugins/internal.py:603 msgid "Show configuration uri" msgstr "" -#: ipalib/plugins/internal.py:585 +#: ipalib/plugins/internal.py:604 msgid "Counter-based (HOTP)" msgstr "" -#: ipalib/plugins/internal.py:586 +#: ipalib/plugins/internal.py:605 msgid "Time-based (TOTP)" msgstr "" -#: ipalib/plugins/internal.py:589 +#: ipalib/plugins/internal.py:608 msgid "Add custom attribute" msgstr "" -#: ipalib/plugins/internal.py:592 +#: ipalib/plugins/internal.py:611 msgid "Permission settings" msgstr "" -#: ipalib/plugins/internal.py:593 +#: ipalib/plugins/internal.py:612 msgid "Attribute breakdown" msgstr "" -#: ipalib/plugins/internal.py:597 +#: ipalib/plugins/internal.py:616 msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:600 ipalib/plugins/pwpolicy.py:308 +#: ipalib/plugins/internal.py:619 ipalib/plugins/pwpolicy.py:313 msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:603 +#: ipalib/plugins/internal.py:622 msgid "Range Settings" msgstr "" -#: ipalib/plugins/internal.py:604 +#: ipalib/plugins/internal.py:623 msgid "Base ID" msgstr "" -#: ipalib/plugins/internal.py:605 +#: ipalib/plugins/internal.py:624 msgid "Primary RID base" msgstr "" -#: ipalib/plugins/internal.py:606 +#: ipalib/plugins/internal.py:625 msgid "Range size" msgstr "" -#: ipalib/plugins/internal.py:607 +#: ipalib/plugins/internal.py:626 msgid "Domain SID" msgstr "" -#: ipalib/plugins/internal.py:608 +#: ipalib/plugins/internal.py:627 msgid "Secondary RID base" msgstr "" -#: ipalib/plugins/internal.py:610 ipalib/plugins/trust.py:145 +#: ipalib/plugins/internal.py:629 ipalib/plugins/trust.py:153 msgid "Active Directory domain" msgstr "" -#: ipalib/plugins/internal.py:611 +#: ipalib/plugins/internal.py:630 msgid "Active Directory domain with POSIX attributes" msgstr "" -#: ipalib/plugins/internal.py:612 +#: ipalib/plugins/internal.py:631 msgid "Detect" msgstr "" -#: ipalib/plugins/internal.py:613 +#: ipalib/plugins/internal.py:632 msgid "Local domain" msgstr "" -#: ipalib/plugins/internal.py:614 +#: ipalib/plugins/internal.py:633 msgid "IPA trust" msgstr "" -#: ipalib/plugins/internal.py:615 +#: ipalib/plugins/internal.py:634 msgid "Active Directory winsync" msgstr "" -#: ipalib/plugins/internal.py:618 +#: ipalib/plugins/internal.py:637 msgid "RADIUS Proxy Server Settings" msgstr "" -#: ipalib/plugins/internal.py:621 ipalib/plugins/realmdomains.py:92 -#: ipalib/plugins/realmdomains.py:93 +#: ipalib/plugins/internal.py:640 ipalib/plugins/realmdomains.py:97 +#: ipalib/plugins/realmdomains.py:98 msgid "Realm Domains" msgstr "" -#: ipalib/plugins/internal.py:622 +#: ipalib/plugins/internal.py:641 msgid "Check DNS" msgstr "" -#: ipalib/plugins/internal.py:623 +#: ipalib/plugins/internal.py:642 msgid "Do you also want to perform DNS check?" msgstr "" -#: ipalib/plugins/internal.py:624 +#: ipalib/plugins/internal.py:643 msgid "Force Update" msgstr "" -#: ipalib/plugins/internal.py:627 +#: ipalib/plugins/internal.py:646 msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:640 +#: ipalib/plugins/internal.py:659 msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:642 +#: ipalib/plugins/internal.py:661 msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:645 +#: ipalib/plugins/internal.py:664 msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:649 +#: ipalib/plugins/internal.py:668 msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:651 +#: ipalib/plugins/internal.py:670 msgid "Service unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:652 +#: ipalib/plugins/internal.py:671 msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:655 +#: ipalib/plugins/internal.py:674 msgid "SSH public keys" msgstr "" -#: ipalib/plugins/internal.py:656 +#: ipalib/plugins/internal.py:675 msgid "SSH public key:" msgstr "" -#: ipalib/plugins/internal.py:657 +#: ipalib/plugins/internal.py:676 msgid "Set SSH key" msgstr "" -#: ipalib/plugins/internal.py:658 +#: ipalib/plugins/internal.py:677 msgid "Show/Set key" msgstr "" -#: ipalib/plugins/internal.py:659 +#: ipalib/plugins/internal.py:678 msgid "Modified: key not set" msgstr "" -#: ipalib/plugins/internal.py:660 +#: ipalib/plugins/internal.py:679 msgid "Modified" msgstr "" -#: ipalib/plugins/internal.py:661 +#: ipalib/plugins/internal.py:680 msgid "New: key not set" msgstr "" -#: ipalib/plugins/internal.py:662 +#: ipalib/plugins/internal.py:681 msgid "New: key set" msgstr "" -#: ipalib/plugins/internal.py:665 +#: ipalib/plugins/internal.py:684 msgid "Are you sure you want to activate selected users?" msgstr "" -#: ipalib/plugins/internal.py:666 +#: ipalib/plugins/internal.py:685 #, python-brace-format msgid "${count} user(s) activated" msgstr "" -#: ipalib/plugins/internal.py:667 +#: ipalib/plugins/internal.py:686 msgid "Stage users" msgstr "" -#: ipalib/plugins/internal.py:668 +#: ipalib/plugins/internal.py:687 msgid "Preserved users" msgstr "" -#: ipalib/plugins/internal.py:669 +#: ipalib/plugins/internal.py:688 msgid "Are you sure you want to restore selected users?" msgstr "" -#: ipalib/plugins/internal.py:670 +#: ipalib/plugins/internal.py:689 #, python-brace-format msgid "${count} user(s) restored" msgstr "" -#: ipalib/plugins/internal.py:671 +#: ipalib/plugins/internal.py:690 msgid "User categories" msgstr "" -#: ipalib/plugins/internal.py:674 +#: ipalib/plugins/internal.py:693 msgid "Groups" msgstr "" -#: ipalib/plugins/internal.py:677 ipalib/plugins/sudocmdgroup.py:126 +#: ipalib/plugins/internal.py:696 ipalib/plugins/sudocmdgroup.py:126 msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:680 +#: ipalib/plugins/internal.py:699 msgid "Allow" msgstr "" -#: ipalib/plugins/internal.py:681 +#: ipalib/plugins/internal.py:700 msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:682 +#: ipalib/plugins/internal.py:701 msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:685 +#: ipalib/plugins/internal.py:704 msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:686 +#: ipalib/plugins/internal.py:705 msgid "Deny" msgstr "" -#: ipalib/plugins/internal.py:688 +#: ipalib/plugins/internal.py:707 msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:690 +#: ipalib/plugins/internal.py:709 msgid "Option added" msgstr "" -#: ipalib/plugins/internal.py:691 +#: ipalib/plugins/internal.py:710 #, python-brace-format msgid "${count} option(s) removed" msgstr "" -#: ipalib/plugins/internal.py:693 +#: ipalib/plugins/internal.py:712 msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:694 +#: ipalib/plugins/internal.py:713 msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:695 +#: ipalib/plugins/internal.py:714 msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:701 +#: ipalib/plugins/internal.py:720 msgid "Segment details" msgstr "" -#: ipalib/plugins/internal.py:702 +#: ipalib/plugins/internal.py:721 msgid "Replication configuration" msgstr "" -#: ipalib/plugins/internal.py:705 +#: ipalib/plugins/internal.py:722 +#, python-brace-format +msgid "Managed topology requires minimal domain level ${domainlevel}" +msgstr "" + +#: ipalib/plugins/internal.py:725 msgid "Account" msgstr "" -#: ipalib/plugins/internal.py:706 +#: ipalib/plugins/internal.py:726 msgid "Administrative account" msgstr "" -#: ipalib/plugins/internal.py:707 +#: ipalib/plugins/internal.py:727 msgid "SID blacklists" msgstr "" -#: ipalib/plugins/internal.py:708 +#: ipalib/plugins/internal.py:728 msgid "Trust Settings" msgstr "" -#: ipalib/plugins/internal.py:709 ipalib/plugins/realmdomains.py:100 -#: ipalib/plugins/trust.py:878 +#: ipalib/plugins/internal.py:729 ipalib/plugins/realmdomains.py:105 +#: ipalib/plugins/trust.py:1093 msgid "Domain" msgstr "" -#: ipalib/plugins/internal.py:710 +#: ipalib/plugins/internal.py:730 msgid "Establish using" msgstr "" -#: ipalib/plugins/internal.py:711 +#: ipalib/plugins/internal.py:731 msgid "Fetch domains" msgstr "" -#: ipalib/plugins/internal.py:712 ipalib/plugins/trust.py:357 -#: ipalib/plugins/trust.py:1195 +#: ipalib/plugins/internal.py:732 ipalib/plugins/trust.py:508 +#: ipalib/plugins/trust.py:1410 msgid "Domain NetBIOS name" msgstr "" -#: ipalib/plugins/internal.py:713 ipalib/plugins/trust.py:361 -#: ipalib/plugins/trust.py:1199 +#: ipalib/plugins/internal.py:733 ipalib/plugins/trust.py:512 +#: ipalib/plugins/trust.py:1414 msgid "Domain Security Identifier" msgstr "" -#: ipalib/plugins/internal.py:714 +#: ipalib/plugins/internal.py:734 msgid "Pre-shared password" msgstr "" -#: ipalib/plugins/internal.py:715 ipalib/plugins/trust.py:137 +#: ipalib/plugins/internal.py:735 ipalib/plugins/trust.py:145 msgid "Trust direction" msgstr "" -#: ipalib/plugins/internal.py:716 ipalib/plugins/trust.py:141 +#: ipalib/plugins/internal.py:736 ipalib/plugins/trust.py:149 msgid "Trust status" msgstr "" -#: ipalib/plugins/internal.py:717 ipalib/plugins/trust.py:139 +#: ipalib/plugins/internal.py:737 ipalib/plugins/trust.py:147 msgid "Trust type" msgstr "" -#: ipalib/plugins/internal.py:723 +#: ipalib/plugins/internal.py:743 msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:724 +#: ipalib/plugins/internal.py:744 msgid "Account Status" msgstr "" -#: ipalib/plugins/internal.py:725 +#: ipalib/plugins/internal.py:745 msgid "Active users" msgstr "" -#: ipalib/plugins/internal.py:726 +#: ipalib/plugins/internal.py:746 msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:727 +#: ipalib/plugins/internal.py:747 msgid "Delete mode" msgstr "" -#: ipalib/plugins/internal.py:728 +#: ipalib/plugins/internal.py:748 msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:729 +#: ipalib/plugins/internal.py:749 msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:730 +#: ipalib/plugins/internal.py:750 msgid "Password expiration" msgstr "" -#: ipalib/plugins/internal.py:731 +#: ipalib/plugins/internal.py:751 msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:732 +#: ipalib/plugins/internal.py:752 msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:733 +#: ipalib/plugins/internal.py:753 msgid "delete" msgstr "" -#: ipalib/plugins/internal.py:734 +#: ipalib/plugins/internal.py:754 msgid "preserve" msgstr "" -#: ipalib/plugins/internal.py:735 +#: ipalib/plugins/internal.py:755 msgid "No private group" msgstr "" -#: ipalib/plugins/internal.py:736 +#: ipalib/plugins/internal.py:756 #, python-brace-format msgid "" "Are you sure you want to ${action} the user?<br/>The change will take effect " "immediately." msgstr "" -#: ipalib/plugins/internal.py:737 +#: ipalib/plugins/internal.py:757 #, python-brace-format msgid "Click to ${action}" msgstr "" -#: ipalib/plugins/internal.py:738 +#: ipalib/plugins/internal.py:758 msgid "Unlock" msgstr "" -#: ipalib/plugins/internal.py:739 +#: ipalib/plugins/internal.py:759 #, python-brace-format msgid "Are you sure you want to unlock user ${object}?" msgstr "" -#: ipalib/plugins/internal.py:743 ipalib/plugins/passwd.py:84 +#: ipalib/plugins/internal.py:763 ipalib/plugins/passwd.py:84 msgid "Current Password" msgstr "" -#: ipalib/plugins/internal.py:744 +#: ipalib/plugins/internal.py:764 msgid "Current password is required" msgstr "" -#: ipalib/plugins/internal.py:745 +#: ipalib/plugins/internal.py:765 #, python-brace-format msgid "Your password expires in ${days} days." msgstr "" -#: ipalib/plugins/internal.py:746 +#: ipalib/plugins/internal.py:766 msgid "First OTP" msgstr "" -#: ipalib/plugins/internal.py:747 +#: ipalib/plugins/internal.py:767 msgid "The password or username you entered is incorrect." msgstr "" -#: ipalib/plugins/internal.py:748 ipalib/plugins/passwd.py:81 +#: ipalib/plugins/internal.py:768 ipalib/plugins/passwd.py:81 msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:749 +#: ipalib/plugins/internal.py:769 msgid "New password is required" msgstr "" -#: ipalib/plugins/internal.py:750 ipalib/plugins/passwd.py:94 +#: ipalib/plugins/internal.py:770 ipalib/plugins/passwd.py:94 msgid "OTP" msgstr "" -#: ipalib/plugins/internal.py:751 +#: ipalib/plugins/internal.py:771 msgid "" "<i class=\"fa fa-info-circle\"></i> <strong>One-Time-Password(OTP):</strong> " "Generate new OTP code for each OTP field." msgstr "" -#: ipalib/plugins/internal.py:753 +#: ipalib/plugins/internal.py:773 msgid "Token synchronization failed" msgstr "" -#: ipalib/plugins/internal.py:754 +#: ipalib/plugins/internal.py:774 msgid "The username, password or token codes are not correct" msgstr "" -#: ipalib/plugins/internal.py:755 +#: ipalib/plugins/internal.py:775 msgid "Token was synchronized" msgstr "" -#: ipalib/plugins/internal.py:757 +#: ipalib/plugins/internal.py:777 msgid "Password or Password+One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:758 +#: ipalib/plugins/internal.py:778 msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:759 +#: ipalib/plugins/internal.py:779 msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:760 +#: ipalib/plugins/internal.py:780 msgid "Password reset was not successful." msgstr "" -#: ipalib/plugins/internal.py:761 +#: ipalib/plugins/internal.py:781 msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:762 +#: ipalib/plugins/internal.py:782 msgid "Reset your password." msgstr "" -#: ipalib/plugins/internal.py:763 +#: ipalib/plugins/internal.py:783 msgid "Second OTP" msgstr "" -#: ipalib/plugins/internal.py:764 ipalib/plugins/otptoken.py:528 +#: ipalib/plugins/internal.py:784 ipalib/plugins/otptoken.py:513 msgid "Token ID" msgstr "" -#: ipalib/plugins/internal.py:765 +#: ipalib/plugins/internal.py:785 msgid "Verify Password" msgstr "" -#: ipalib/plugins/internal.py:768 +#: ipalib/plugins/internal.py:788 msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:769 +#: ipalib/plugins/internal.py:789 #, python-brace-format msgid "${count} item(s) deleted" msgstr "" -#: ipalib/plugins/internal.py:770 +#: ipalib/plugins/internal.py:790 msgid "Are you sure you want to disable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:771 +#: ipalib/plugins/internal.py:791 #, python-brace-format msgid "${count} item(s) disabled" msgstr "" -#: ipalib/plugins/internal.py:772 +#: ipalib/plugins/internal.py:792 msgid "Are you sure you want to enable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:773 +#: ipalib/plugins/internal.py:793 #, python-brace-format msgid "${count} item(s) enabled" msgstr "" -#: ipalib/plugins/internal.py:774 +#: ipalib/plugins/internal.py:794 msgid "Some entries were not deleted" msgstr "" -#: ipalib/plugins/internal.py:776 +#: ipalib/plugins/internal.py:796 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:777 +#: ipalib/plugins/internal.py:797 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:778 +#: ipalib/plugins/internal.py:798 #, python-brace-format msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:779 +#: ipalib/plugins/internal.py:799 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:783 ipalib/plugins/otptoken.py:184 +#: ipalib/plugins/internal.py:803 ipalib/plugins/otptoken.py:188 msgid "Disabled" msgstr "" -#: ipalib/plugins/internal.py:787 +#: ipalib/plugins/internal.py:807 msgid "Working" msgstr "" -#: ipalib/plugins/internal.py:790 +#: ipalib/plugins/internal.py:810 msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:791 +#: ipalib/plugins/internal.py:811 msgid "Authentication" msgstr "" -#: ipalib/plugins/internal.py:793 +#: ipalib/plugins/internal.py:813 msgid "Automount" msgstr "" -#: ipalib/plugins/internal.py:795 +#: ipalib/plugins/internal.py:815 msgid "DNS" msgstr "" -#: ipalib/plugins/internal.py:796 +#: ipalib/plugins/internal.py:816 msgid "Host Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:797 +#: ipalib/plugins/internal.py:817 msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:798 ipalib/plugins/server.py:46 +#: ipalib/plugins/internal.py:818 ipalib/plugins/server.py:47 msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:799 +#: ipalib/plugins/internal.py:819 msgid "Network Services" msgstr "" -#: ipalib/plugins/internal.py:800 +#: ipalib/plugins/internal.py:820 msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:801 +#: ipalib/plugins/internal.py:821 msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:802 +#: ipalib/plugins/internal.py:822 msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:803 +#: ipalib/plugins/internal.py:823 msgid "Topology" msgstr "" -#: ipalib/plugins/internal.py:804 ipalib/plugins/trust.py:346 +#: ipalib/plugins/internal.py:824 ipalib/plugins/trust.py:497 msgid "Trusts" msgstr "" -#: ipalib/plugins/internal.py:806 +#: ipalib/plugins/internal.py:826 msgid "True" msgstr "" -#: ipalib/plugins/internal.py:808 +#: ipalib/plugins/internal.py:828 msgid "First" msgstr "" -#: ipalib/plugins/internal.py:809 +#: ipalib/plugins/internal.py:829 msgid "Last" msgstr "" -#: ipalib/plugins/internal.py:810 +#: ipalib/plugins/internal.py:830 msgid "Next" msgstr "" -#: ipalib/plugins/internal.py:811 +#: ipalib/plugins/internal.py:831 msgid "Page" msgstr "" -#: ipalib/plugins/internal.py:812 +#: ipalib/plugins/internal.py:832 msgid "Prev" msgstr "" -#: ipalib/plugins/internal.py:813 +#: ipalib/plugins/internal.py:833 msgid "Undo" msgstr "" -#: ipalib/plugins/internal.py:814 +#: ipalib/plugins/internal.py:834 msgid "Undo All" msgstr "" -#: ipalib/plugins/internal.py:816 +#: ipalib/plugins/internal.py:836 msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:817 +#: ipalib/plugins/internal.py:837 msgid "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")" msgstr "" -#: ipalib/plugins/internal.py:818 +#: ipalib/plugins/internal.py:838 msgid "Must be a decimal number" msgstr "" -#: ipalib/plugins/internal.py:819 +#: ipalib/plugins/internal.py:839 msgid "Format error" msgstr "" -#: ipalib/plugins/internal.py:820 +#: ipalib/plugins/internal.py:840 msgid "Must be an integer" msgstr "" -#: ipalib/plugins/internal.py:821 +#: ipalib/plugins/internal.py:841 msgid "Not a valid IP address" msgstr "" -#: ipalib/plugins/internal.py:822 +#: ipalib/plugins/internal.py:842 msgid "Not a valid IPv4 address" msgstr "" -#: ipalib/plugins/internal.py:823 +#: ipalib/plugins/internal.py:843 msgid "Not a valid IPv6 address" msgstr "" -#: ipalib/plugins/internal.py:824 +#: ipalib/plugins/internal.py:844 #, python-brace-format msgid "Maximum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:825 +#: ipalib/plugins/internal.py:845 #, python-brace-format msgid "Minimum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:826 +#: ipalib/plugins/internal.py:846 msgid "Not a valid network address" msgstr "" -#: ipalib/plugins/internal.py:827 +#: ipalib/plugins/internal.py:847 msgid "Parse error" msgstr "" -#: ipalib/plugins/internal.py:828 +#: ipalib/plugins/internal.py:848 #, python-brace-format msgid "'${port}' is not a valid port" msgstr "" -#: ipalib/plugins/internal.py:829 +#: ipalib/plugins/internal.py:849 msgid "Required field" msgstr "" -#: ipalib/plugins/internal.py:830 +#: ipalib/plugins/internal.py:850 msgid "Unsupported value" msgstr "" -#: ipalib/plugins/internal.py:835 +#: ipalib/plugins/internal.py:855 msgid "Dict of I18N messages" msgstr "" @@ -9371,7 +9536,7 @@ msgstr "" msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/migration.py:40 +#: ipalib/plugins/migration.py:45 msgid "" "\n" "Migration to IPA\n" @@ -9469,236 +9634,236 @@ msgid "" "updated.\n" msgstr "" -#: ipalib/plugins/migration.py:137 +#: ipalib/plugins/migration.py:142 #, python-format msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:138 +#: ipalib/plugins/migration.py:143 #, python-format msgid "" "Unable to determine if Kerberos principal %s already exists. Use 'ipa user-" "mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:139 +#: ipalib/plugins/migration.py:144 msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -#: ipalib/plugins/migration.py:140 +#: ipalib/plugins/migration.py:145 msgid "Migration of LDAP search reference is not supported." msgstr "" -#: ipalib/plugins/migration.py:141 +#: ipalib/plugins/migration.py:146 msgid "Malformed DN" msgstr "" -#: ipalib/plugins/migration.py:161 +#: ipalib/plugins/migration.py:166 #, python-format msgid "%(user)s is not a POSIX user" msgstr "" -#: ipalib/plugins/migration.py:427 +#: ipalib/plugins/migration.py:432 msgid "" ". Check GID of the existing group. Use --group-overwrite-gid option to " "overwrite the GID" msgstr "" -#: ipalib/plugins/migration.py:442 +#: ipalib/plugins/migration.py:447 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:448 +#: ipalib/plugins/migration.py:453 msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/migration.py:495 +#: ipalib/plugins/migration.py:500 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:496 +#: ipalib/plugins/migration.py:501 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:502 +#: ipalib/plugins/migration.py:507 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:509 +#: ipalib/plugins/migration.py:514 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:515 +#: ipalib/plugins/migration.py:520 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:516 +#: ipalib/plugins/migration.py:521 msgid "DN of container for users in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:522 +#: ipalib/plugins/migration.py:527 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:523 +#: ipalib/plugins/migration.py:528 msgid "DN of container for groups in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:529 +#: ipalib/plugins/migration.py:534 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:530 +#: ipalib/plugins/migration.py:535 msgid "Objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:537 +#: ipalib/plugins/migration.py:542 msgid "Group object class" msgstr "" -#: ipalib/plugins/migration.py:538 +#: ipalib/plugins/migration.py:543 msgid "Objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:545 +#: ipalib/plugins/migration.py:550 msgid "Ignore user object class" msgstr "" -#: ipalib/plugins/migration.py:546 +#: ipalib/plugins/migration.py:551 msgid "Objectclasses to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:553 +#: ipalib/plugins/migration.py:558 msgid "Ignore user attribute" msgstr "" -#: ipalib/plugins/migration.py:554 +#: ipalib/plugins/migration.py:559 msgid "Attributes to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:561 +#: ipalib/plugins/migration.py:566 msgid "Ignore group object class" msgstr "" -#: ipalib/plugins/migration.py:562 +#: ipalib/plugins/migration.py:567 msgid "Objectclasses to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:569 +#: ipalib/plugins/migration.py:574 msgid "Ignore group attribute" msgstr "" -#: ipalib/plugins/migration.py:570 +#: ipalib/plugins/migration.py:575 msgid "Attributes to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:577 +#: ipalib/plugins/migration.py:582 msgid "Overwrite GID" msgstr "" -#: ipalib/plugins/migration.py:578 +#: ipalib/plugins/migration.py:583 msgid "" "When migrating a group already existing in IPA domain overwrite the group " "GID and report as success" msgstr "" -#: ipalib/plugins/migration.py:583 +#: ipalib/plugins/migration.py:588 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:584 +#: ipalib/plugins/migration.py:589 msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:590 +#: ipalib/plugins/migration.py:595 msgid "Continue" msgstr "" -#: ipalib/plugins/migration.py:591 +#: ipalib/plugins/migration.py:596 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:596 +#: ipalib/plugins/migration.py:601 msgid "Base DN" msgstr "" -#: ipalib/plugins/migration.py:597 +#: ipalib/plugins/migration.py:602 msgid "Base DN on remote LDAP server" msgstr "" -#: ipalib/plugins/migration.py:601 +#: ipalib/plugins/migration.py:606 msgid "Ignore compat plugin" msgstr "" -#: ipalib/plugins/migration.py:602 +#: ipalib/plugins/migration.py:607 msgid "Allows migration despite the usage of compat plugin" msgstr "" -#: ipalib/plugins/migration.py:607 +#: ipalib/plugins/migration.py:612 msgid "CA certificate" msgstr "" -#: ipalib/plugins/migration.py:608 +#: ipalib/plugins/migration.py:613 msgid "Load CA certificate of LDAP server from FILE" msgstr "" -#: ipalib/plugins/migration.py:613 +#: ipalib/plugins/migration.py:618 msgid "Add to default group" msgstr "" -#: ipalib/plugins/migration.py:614 +#: ipalib/plugins/migration.py:619 msgid "Add migrated users without a group to a default group (default: true)" msgstr "" -#: ipalib/plugins/migration.py:621 +#: ipalib/plugins/migration.py:626 msgid "Search scope" msgstr "" -#: ipalib/plugins/migration.py:622 +#: ipalib/plugins/migration.py:627 msgid "" "LDAP search scope for users and groups: base, onelevel, or subtree. Defaults " "to onelevel" msgstr "" -#: ipalib/plugins/migration.py:633 +#: ipalib/plugins/migration.py:638 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:637 +#: ipalib/plugins/migration.py:642 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:641 +#: ipalib/plugins/migration.py:646 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:645 +#: ipalib/plugins/migration.py:650 msgid "False if migration fails because the compatibility plug-in is enabled." msgstr "" -#: ipalib/plugins/migration.py:649 +#: ipalib/plugins/migration.py:654 #, python-format msgid "%s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:651 +#: ipalib/plugins/migration.py:656 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:656 +#: ipalib/plugins/migration.py:661 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:659 +#: ipalib/plugins/migration.py:664 msgid "" "Passwords have been migrated in pre-hashed format.\n" "IPA is unable to generate Kerberos keys unless provided\n" @@ -9707,14 +9872,14 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:748 +#: ipalib/plugins/migration.py:753 #, python-format msgid "" "%(container)s LDAP search did not return any result (search base: " "%(search_base)s, objectclass: %(objectclass)s)" msgstr "" -#: ipalib/plugins/migration.py:780 ipalib/plugins/user.py:471 +#: ipalib/plugins/migration.py:785 ipalib/plugins/user.py:487 msgid "Default group for new users not found" msgstr "" @@ -9761,7 +9926,7 @@ msgstr[1] "" msgid "Number of plugins loaded" msgstr "" -#: ipalib/plugins/netgroup.py:29 +#: ipalib/plugins/netgroup.py:33 msgid "" "\n" "Netgroups\n" @@ -9787,100 +9952,100 @@ msgid "" " ipa netgroup-del admins\n" msgstr "" -#: ipalib/plugins/netgroup.py:71 +#: ipalib/plugins/netgroup.py:75 msgid "Member Host" msgstr "" -#: ipalib/plugins/netgroup.py:85 +#: ipalib/plugins/netgroup.py:89 msgid "netgroup" msgstr "" -#: ipalib/plugins/netgroup.py:86 +#: ipalib/plugins/netgroup.py:90 msgid "netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:175 +#: ipalib/plugins/netgroup.py:183 msgid "Netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:176 +#: ipalib/plugins/netgroup.py:184 msgid "Netgroup" msgstr "" -#: ipalib/plugins/netgroup.py:183 +#: ipalib/plugins/netgroup.py:191 msgid "Netgroup name" msgstr "" -#: ipalib/plugins/netgroup.py:190 +#: ipalib/plugins/netgroup.py:198 msgid "Netgroup description" msgstr "" -#: ipalib/plugins/netgroup.py:196 +#: ipalib/plugins/netgroup.py:204 msgid "NIS domain name" msgstr "" -#: ipalib/plugins/netgroup.py:201 +#: ipalib/plugins/netgroup.py:209 msgid "IPA unique ID" msgstr "" -#: ipalib/plugins/netgroup.py:222 +#: ipalib/plugins/netgroup.py:230 msgid "Add a new netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:225 +#: ipalib/plugins/netgroup.py:233 #, python-format msgid "Added netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:227 +#: ipalib/plugins/netgroup.py:235 #, python-format msgid "" "hostgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -#: ipalib/plugins/netgroup.py:258 +#: ipalib/plugins/netgroup.py:266 msgid "Delete a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:260 +#: ipalib/plugins/netgroup.py:268 #, python-format msgid "Deleted netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:266 +#: ipalib/plugins/netgroup.py:274 msgid "Modify a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:269 +#: ipalib/plugins/netgroup.py:277 #, python-format msgid "Modified netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:287 +#: ipalib/plugins/netgroup.py:295 msgid "Search for a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:292 +#: ipalib/plugins/netgroup.py:300 #, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/netgroup.py:302 +#: ipalib/plugins/netgroup.py:310 msgid "search for managed groups" msgstr "" -#: ipalib/plugins/netgroup.py:324 +#: ipalib/plugins/netgroup.py:332 msgid "Display information about a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:331 +#: ipalib/plugins/netgroup.py:339 msgid "Add members to a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:353 +#: ipalib/plugins/netgroup.py:361 msgid "Remove members from a netgroup." msgstr "" @@ -9912,8 +10077,8 @@ msgid "" " ipa hotpconfig-mod --hotp-sync-window=50\n" msgstr "" -#: ipalib/plugins/otpconfig.py:52 ipalib/plugins/otptoken.py:64 -#: ipalib/plugins/otptoken_yubikey.py:47 +#: ipalib/plugins/otpconfig.py:52 ipalib/plugins/otptoken.py:68 +#: ipalib/plugins/otptoken_yubikey.py:51 msgid "One time password commands" msgstr "" @@ -9965,40 +10130,40 @@ msgstr "" msgid "Show the current OTP configuration." msgstr "" -#: ipalib/plugins/otptoken.py:39 +#: ipalib/plugins/otptoken.py:43 msgid "" "\n" "OTP Tokens\n" msgstr "" -#: ipalib/plugins/otptoken.py:41 +#: ipalib/plugins/otptoken.py:45 msgid "" "\n" "Manage OTP tokens.\n" msgstr "" -#: ipalib/plugins/otptoken.py:43 +#: ipalib/plugins/otptoken.py:47 msgid "" "\n" "IPA supports the use of OTP tokens for multi-factor authentication. This\n" "code enables the management of OTP tokens.\n" msgstr "" -#: ipalib/plugins/otptoken.py:48 +#: ipalib/plugins/otptoken.py:52 msgid "" "\n" " Add a new token:\n" " ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" msgstr "" -#: ipalib/plugins/otptoken.py:51 +#: ipalib/plugins/otptoken.py:55 msgid "" "\n" " Examine the token:\n" " ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/otptoken.py:54 +#: ipalib/plugins/otptoken.py:58 msgid "" "\n" " Change the vendor:\n" @@ -10006,246 +10171,250 @@ msgid "" "\"\n" msgstr "" -#: ipalib/plugins/otptoken.py:57 +#: ipalib/plugins/otptoken.py:61 msgid "" "\n" " Delete a token:\n" " ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/otptoken.py:132 +#: ipalib/plugins/otptoken.py:136 msgid "OTP token" msgstr "" -#: ipalib/plugins/otptoken.py:133 +#: ipalib/plugins/otptoken.py:137 msgid "OTP tokens" msgstr "" -#: ipalib/plugins/otptoken.py:149 +#: ipalib/plugins/otptoken.py:153 msgid "OTP Tokens" msgstr "" -#: ipalib/plugins/otptoken.py:150 +#: ipalib/plugins/otptoken.py:154 msgid "OTP Token" msgstr "" -#: ipalib/plugins/otptoken.py:155 ipalib/plugins/otptoken_yubikey.py:57 +#: ipalib/plugins/otptoken.py:159 ipalib/plugins/otptoken_yubikey.py:61 msgid "Unique ID" msgstr "" -#: ipalib/plugins/otptoken.py:161 +#: ipalib/plugins/otptoken.py:165 msgid "Type of the token" msgstr "" -#: ipalib/plugins/otptoken.py:170 +#: ipalib/plugins/otptoken.py:174 msgid "Token description (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:174 +#: ipalib/plugins/otptoken.py:178 msgid "Owner" msgstr "" -#: ipalib/plugins/otptoken.py:175 +#: ipalib/plugins/otptoken.py:179 msgid "Assigned user of the token (default: self)" msgstr "" -#: ipalib/plugins/otptoken.py:179 +#: ipalib/plugins/otptoken.py:183 msgid "Assigned manager of the token (default: self)" msgstr "" -#: ipalib/plugins/otptoken.py:185 +#: ipalib/plugins/otptoken.py:189 msgid "Mark the token as disabled (default: false)" msgstr "" -#: ipalib/plugins/otptoken.py:189 +#: ipalib/plugins/otptoken.py:193 msgid "Validity start" msgstr "" -#: ipalib/plugins/otptoken.py:190 +#: ipalib/plugins/otptoken.py:194 msgid "First date/time the token can be used" msgstr "" -#: ipalib/plugins/otptoken.py:194 +#: ipalib/plugins/otptoken.py:198 msgid "Validity end" msgstr "" -#: ipalib/plugins/otptoken.py:195 +#: ipalib/plugins/otptoken.py:199 msgid "Last date/time the token can be used" msgstr "" -#: ipalib/plugins/otptoken.py:199 +#: ipalib/plugins/otptoken.py:203 msgid "Vendor" msgstr "" -#: ipalib/plugins/otptoken.py:200 +#: ipalib/plugins/otptoken.py:204 msgid "Token vendor name (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:204 +#: ipalib/plugins/otptoken.py:208 msgid "Model" msgstr "" -#: ipalib/plugins/otptoken.py:205 +#: ipalib/plugins/otptoken.py:209 msgid "Token model (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:209 +#: ipalib/plugins/otptoken.py:213 msgid "Serial" msgstr "" -#: ipalib/plugins/otptoken.py:210 +#: ipalib/plugins/otptoken.py:214 msgid "Token serial (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:215 +#: ipalib/plugins/otptoken.py:219 msgid "Token secret (Base32; default: random)" msgstr "" -#: ipalib/plugins/otptoken.py:223 +#: ipalib/plugins/otptoken.py:227 msgid "Token hash algorithm" msgstr "" -#: ipalib/plugins/otptoken.py:231 +#: ipalib/plugins/otptoken.py:235 msgid "Digits" msgstr "" -#: ipalib/plugins/otptoken.py:232 +#: ipalib/plugins/otptoken.py:236 msgid "Number of digits each token code will have" msgstr "" -#: ipalib/plugins/otptoken.py:240 +#: ipalib/plugins/otptoken.py:244 msgid "Clock offset" msgstr "" -#: ipalib/plugins/otptoken.py:241 +#: ipalib/plugins/otptoken.py:245 msgid "TOTP token / FreeIPA server time difference" msgstr "" -#: ipalib/plugins/otptoken.py:248 +#: ipalib/plugins/otptoken.py:252 msgid "Clock interval" msgstr "" -#: ipalib/plugins/otptoken.py:249 +#: ipalib/plugins/otptoken.py:253 msgid "Length of TOTP token code validity" msgstr "" -#: ipalib/plugins/otptoken.py:257 +#: ipalib/plugins/otptoken.py:261 msgid "Counter" msgstr "" -#: ipalib/plugins/otptoken.py:258 +#: ipalib/plugins/otptoken.py:262 msgid "Initial counter for the HOTP token" msgstr "" -#: ipalib/plugins/otptoken.py:269 +#: ipalib/plugins/otptoken.py:273 msgid "Add a new OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:270 +#: ipalib/plugins/otptoken.py:274 #, python-format msgid "Added OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:273 +#: ipalib/plugins/otptoken.py:277 msgid "(deprecated)" msgstr "" -#: ipalib/plugins/otptoken.py:274 +#: ipalib/plugins/otptoken.py:278 msgid "Do not display QR code" msgstr "" -#: ipalib/plugins/otptoken.py:278 +#: ipalib/plugins/otptoken.py:282 msgid "URI" msgstr "" -#: ipalib/plugins/otptoken.py:367 +#: ipalib/plugins/otptoken.py:371 msgid "Delete an OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:368 +#: ipalib/plugins/otptoken.py:372 #, python-format msgid "Deleted OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:373 +#: ipalib/plugins/otptoken.py:377 msgid "Modify a OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:374 +#: ipalib/plugins/otptoken.py:378 #, python-format msgid "Modified OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:422 +#: ipalib/plugins/otptoken.py:426 msgid "Search for OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:423 +#: ipalib/plugins/otptoken.py:427 #, python-format msgid "%(count)d OTP token matched" msgid_plural "%(count)d OTP tokens matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/otptoken.py:451 +#: ipalib/plugins/otptoken.py:455 msgid "Display information about an OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:464 +#: ipalib/plugins/otptoken.py:468 msgid "Add users that can manage this token." msgstr "" -#: ipalib/plugins/otptoken.py:516 +#: ipalib/plugins/otptoken.py:474 +msgid "Remove users that can manage this token." +msgstr "" + +#: ipalib/plugins/otptoken.py:501 msgid "Synchronize an OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:521 +#: ipalib/plugins/otptoken.py:506 msgid "User ID" msgstr "" -#: ipalib/plugins/otptoken.py:523 +#: ipalib/plugins/otptoken.py:508 msgid "First Code" msgstr "" -#: ipalib/plugins/otptoken.py:524 +#: ipalib/plugins/otptoken.py:509 msgid "Second Code" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:31 +#: ipalib/plugins/otptoken_yubikey.py:35 msgid "" "\n" "YubiKey Tokens\n" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:33 +#: ipalib/plugins/otptoken_yubikey.py:37 msgid "" "\n" "Manage YubiKey tokens.\n" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:35 +#: ipalib/plugins/otptoken_yubikey.py:39 msgid "" "\n" "This code is an extension to the otptoken plugin and provides support for\n" "reading/writing YubiKey tokens directly.\n" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:40 +#: ipalib/plugins/otptoken_yubikey.py:44 msgid "" "\n" " Add a new token:\n" " ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:52 +#: ipalib/plugins/otptoken_yubikey.py:56 msgid "Add a new YubiKey OTP token." msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:65 +#: ipalib/plugins/otptoken_yubikey.py:69 msgid "YubiKey slot" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:101 +#: ipalib/plugins/otptoken_yubikey.py:105 msgid "No free YubiKey slot!" msgstr "" @@ -10283,17 +10452,18 @@ msgstr "" msgid "Changed password for \"%(value)s\"" msgstr "" -#: ipalib/plugins/passwd.py:127 +#: ipalib/plugins/passwd.py:127 ipalib/plugins/vault.py:861 +#: ipalib/plugins/vault.py:880 msgid "Invalid credentials" msgstr "" -#: ipalib/plugins/permission.py:33 +#: ipalib/plugins/permission.py:39 msgid "" "\n" "Permissions\n" msgstr "" -#: ipalib/plugins/permission.py:35 +#: ipalib/plugins/permission.py:41 msgid "" "\n" "A permission enables fine-grained delegation of rights. A permission is\n" @@ -10303,13 +10473,13 @@ msgid "" "user, modifying a group, etc.\n" msgstr "" -#: ipalib/plugins/permission.py:41 +#: ipalib/plugins/permission.py:47 msgid "" "\n" "A permission may not contain other permissions.\n" msgstr "" -#: ipalib/plugins/permission.py:43 +#: ipalib/plugins/permission.py:49 msgid "" "\n" "* A permission grants access to read, write, add, delete, read, search,\n" @@ -10319,7 +10489,7 @@ msgid "" "* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" msgstr "" -#: ipalib/plugins/permission.py:49 +#: ipalib/plugins/permission.py:55 msgid "" "\n" "A permission is made up of a number of different parts:\n" @@ -10329,7 +10499,7 @@ msgid "" "3. The rights granted by the permission.\n" msgstr "" -#: ipalib/plugins/permission.py:55 +#: ipalib/plugins/permission.py:61 msgid "" "\n" "Rights define what operations are allowed, and may be one or more\n" @@ -10343,7 +10513,7 @@ msgid "" "7. all - all permissions are granted\n" msgstr "" -#: ipalib/plugins/permission.py:65 +#: ipalib/plugins/permission.py:71 msgid "" "\n" "Note the distinction between attributes and entries. The permissions are\n" @@ -10351,7 +10521,7 @@ msgid "" "be editable.\n" msgstr "" -#: ipalib/plugins/permission.py:69 +#: ipalib/plugins/permission.py:75 msgid "" "\n" "There are a number of allowed targets:\n" @@ -10361,7 +10531,7 @@ msgid "" "to\n" msgstr "" -#: ipalib/plugins/permission.py:74 +#: ipalib/plugins/permission.py:80 msgid "" "\n" "Additionally, there are the following convenience options.\n" @@ -10373,13 +10543,13 @@ msgid "" " the rights to manage group membership); sets target.\n" msgstr "" -#: ipalib/plugins/permission.py:81 +#: ipalib/plugins/permission.py:87 msgid "" "\n" "Managed permissions\n" msgstr "" -#: ipalib/plugins/permission.py:83 +#: ipalib/plugins/permission.py:89 msgid "" "\n" "Permissions that come with IPA by default can be so-called \"managed\"\n" @@ -10387,21 +10557,21 @@ msgid "" "but the administrator can add/remove individual attributes to/from the set.\n" msgstr "" -#: ipalib/plugins/permission.py:87 +#: ipalib/plugins/permission.py:93 msgid "" "\n" "Deleting or renaming a managed permission, as well as changing its target,\n" "is not allowed.\n" msgstr "" -#: ipalib/plugins/permission.py:92 +#: ipalib/plugins/permission.py:98 msgid "" "\n" " Add a permission that grants the creation of users:\n" " ipa permission-add --type=user --permissions=add \"Add Users\"\n" msgstr "" -#: ipalib/plugins/permission.py:95 +#: ipalib/plugins/permission.py:101 msgid "" "\n" " Add a permission that grants the ability to manage group membership:\n" @@ -10409,295 +10579,295 @@ msgid "" "\"Manage Group Members\"\n" msgstr "" -#: ipalib/plugins/permission.py:126 +#: ipalib/plugins/permission.py:132 msgid "must be enclosed in parentheses" msgstr "" -#: ipalib/plugins/permission.py:145 +#: ipalib/plugins/permission.py:151 #, python-format msgid "\"%s\" is not an object type" msgstr "" -#: ipalib/plugins/permission.py:147 ipalib/plugins/permission.py:875 +#: ipalib/plugins/permission.py:153 ipalib/plugins/permission.py:881 #, python-format msgid "\"%s\" is not a valid permission type" msgstr "" -#: ipalib/plugins/permission.py:168 +#: ipalib/plugins/permission.py:174 msgid "permission" msgstr "" -#: ipalib/plugins/permission.py:169 +#: ipalib/plugins/permission.py:175 msgid "permissions" msgstr "" -#: ipalib/plugins/permission.py:224 +#: ipalib/plugins/permission.py:230 msgid "Permission name" msgstr "" -#: ipalib/plugins/permission.py:234 +#: ipalib/plugins/permission.py:240 msgid "Granted rights" msgstr "" -#: ipalib/plugins/permission.py:235 +#: ipalib/plugins/permission.py:241 msgid "Rights to grant (read, search, compare, write, add, delete, all)" msgstr "" -#: ipalib/plugins/permission.py:242 +#: ipalib/plugins/permission.py:248 msgid "Effective attributes" msgstr "" -#: ipalib/plugins/permission.py:243 +#: ipalib/plugins/permission.py:249 msgid "All attributes to which the permission applies" msgstr "" -#: ipalib/plugins/permission.py:248 +#: ipalib/plugins/permission.py:254 msgid "Included attributes" msgstr "" -#: ipalib/plugins/permission.py:249 +#: ipalib/plugins/permission.py:255 msgid "User-specified attributes to which the permission applies" msgstr "" -#: ipalib/plugins/permission.py:254 +#: ipalib/plugins/permission.py:260 msgid "Excluded attributes" msgstr "" -#: ipalib/plugins/permission.py:255 +#: ipalib/plugins/permission.py:261 msgid "" "User-specified attributes to which the permission explicitly does not apply" msgstr "" -#: ipalib/plugins/permission.py:261 +#: ipalib/plugins/permission.py:267 msgid "Default attributes" msgstr "" -#: ipalib/plugins/permission.py:262 +#: ipalib/plugins/permission.py:268 msgid "Attributes to which the permission applies by default" msgstr "" -#: ipalib/plugins/permission.py:268 ipalib/plugins/permission.py:269 +#: ipalib/plugins/permission.py:274 ipalib/plugins/permission.py:275 msgid "Bind rule type" msgstr "" -#: ipalib/plugins/permission.py:279 +#: ipalib/plugins/permission.py:285 msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:285 ipalib/plugins/permission.py:286 +#: ipalib/plugins/permission.py:291 ipalib/plugins/permission.py:292 msgid "Extra target filter" msgstr "" -#: ipalib/plugins/permission.py:292 +#: ipalib/plugins/permission.py:298 msgid "Raw target filter" msgstr "" -#: ipalib/plugins/permission.py:293 +#: ipalib/plugins/permission.py:299 msgid "All target filters, including those implied by type and memberof" msgstr "" -#: ipalib/plugins/permission.py:300 +#: ipalib/plugins/permission.py:306 msgid "Target DN" msgstr "" -#: ipalib/plugins/permission.py:301 +#: ipalib/plugins/permission.py:307 msgid "" "Optional DN to apply the permission to (must be in the subtree, but may not " "yet exist)" msgstr "" -#: ipalib/plugins/permission.py:308 +#: ipalib/plugins/permission.py:314 msgid "Target DN subtree" msgstr "" -#: ipalib/plugins/permission.py:309 +#: ipalib/plugins/permission.py:315 msgid "" "Optional DN subtree where an entry can be moved to (must be in the subtree, " "but may not yet exist)" msgstr "" -#: ipalib/plugins/permission.py:316 +#: ipalib/plugins/permission.py:322 msgid "Origin DN subtree" msgstr "" -#: ipalib/plugins/permission.py:317 +#: ipalib/plugins/permission.py:323 msgid "" "Optional DN subtree from where an entry can be moved (must be in the " "subtree, but may not yet exist)" msgstr "" -#: ipalib/plugins/permission.py:322 +#: ipalib/plugins/permission.py:328 msgid "Member of group" msgstr "" -#: ipalib/plugins/permission.py:323 +#: ipalib/plugins/permission.py:329 msgid "Target members of a group (sets memberOf targetfilter)" msgstr "" -#: ipalib/plugins/permission.py:328 +#: ipalib/plugins/permission.py:334 msgid "User group to apply permissions to (sets target)" msgstr "" -#: ipalib/plugins/permission.py:334 +#: ipalib/plugins/permission.py:340 msgid "Type of IPA object (sets subtree and objectClass targetfilter)" msgstr "" -#: ipalib/plugins/permission.py:340 +#: ipalib/plugins/permission.py:346 #, python-format msgid "Deprecated; use %s" msgstr "" -#: ipalib/plugins/permission.py:351 +#: ipalib/plugins/permission.py:357 #, python-format msgid "Permission with unknown flag %s may not be modified or removed" msgstr "" -#: ipalib/plugins/permission.py:355 +#: ipalib/plugins/permission.py:361 msgid "A SYSTEM permission may not be modified or removed" msgstr "" -#: ipalib/plugins/permission.py:603 +#: ipalib/plugins/permission.py:609 #, python-format msgid "Entry %s not found" msgstr "" -#: ipalib/plugins/permission.py:694 +#: ipalib/plugins/permission.py:700 #, python-format msgid "The ACI for permission %(name)s was not found in %(dn)s " msgstr "" -#: ipalib/plugins/permission.py:798 +#: ipalib/plugins/permission.py:804 msgid "" "cannot specify full target filter and extra target filter simultaneously" msgstr "" -#: ipalib/plugins/permission.py:821 +#: ipalib/plugins/permission.py:827 #, python-format msgid "option was renamed; use %s" msgstr "" -#: ipalib/plugins/permission.py:825 +#: ipalib/plugins/permission.py:831 #, python-format msgid "Cannot use %(old_name)s with %(new_name)s" msgstr "" -#: ipalib/plugins/permission.py:839 ipalib/plugins/permission.py:854 +#: ipalib/plugins/permission.py:845 ipalib/plugins/permission.py:860 #, python-format msgid "%s: group not found" msgstr "" -#: ipalib/plugins/permission.py:849 +#: ipalib/plugins/permission.py:855 msgid "target and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:870 +#: ipalib/plugins/permission.py:876 msgid "subtree and type are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:906 +#: ipalib/plugins/permission.py:912 msgid "Bad search filter" msgstr "" -#: ipalib/plugins/permission.py:916 +#: ipalib/plugins/permission.py:922 #, python-format msgid "Entry %s does not exist" msgstr "" -#: ipalib/plugins/permission.py:925 +#: ipalib/plugins/permission.py:931 msgid "" "there must be at least one target entry specifier (e.g. target, " "targetfilter, attrs)" msgstr "" -#: ipalib/plugins/permission.py:935 +#: ipalib/plugins/permission.py:941 msgid "Add a system permission without an ACI (internal command)" msgstr "" -#: ipalib/plugins/permission.py:937 ipalib/plugins/permission.py:968 +#: ipalib/plugins/permission.py:943 ipalib/plugins/permission.py:974 #, python-format msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:943 +#: ipalib/plugins/permission.py:949 msgid "Permission flags" msgstr "" -#: ipalib/plugins/permission.py:966 +#: ipalib/plugins/permission.py:972 msgid "Add a new permission." msgstr "" -#: ipalib/plugins/permission.py:994 +#: ipalib/plugins/permission.py:1000 msgid "attrs and included attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:1026 +#: ipalib/plugins/permission.py:1032 #, python-format msgid "Cannot store permission ACI to %s" msgstr "" -#: ipalib/plugins/permission.py:1035 +#: ipalib/plugins/permission.py:1041 msgid "Delete a permission." msgstr "" -#: ipalib/plugins/permission.py:1037 +#: ipalib/plugins/permission.py:1043 #, python-format msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:1043 +#: ipalib/plugins/permission.py:1049 msgid "force delete of SYSTEM permissions" msgstr "" -#: ipalib/plugins/permission.py:1057 +#: ipalib/plugins/permission.py:1063 msgid "cannot delete managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1063 +#: ipalib/plugins/permission.py:1069 #, python-format msgid "ACI of permission %s was not found" msgstr "" -#: ipalib/plugins/permission.py:1070 +#: ipalib/plugins/permission.py:1076 msgid "Modify a permission." msgstr "" -#: ipalib/plugins/permission.py:1072 +#: ipalib/plugins/permission.py:1078 #, python-format msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:1106 +#: ipalib/plugins/permission.py:1112 msgid "cannot rename managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1113 ipalib/plugins/permission.py:1117 +#: ipalib/plugins/permission.py:1119 ipalib/plugins/permission.py:1123 msgid "not modifiable on managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1124 +#: ipalib/plugins/permission.py:1130 msgid "only available on managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1131 ipalib/plugins/permission.py:1251 +#: ipalib/plugins/permission.py:1137 ipalib/plugins/permission.py:1257 msgid "attrs and included/excluded attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:1142 +#: ipalib/plugins/permission.py:1148 msgid "cannot set bindtype for a permission that is assigned to a privilege" msgstr "" -#: ipalib/plugins/permission.py:1236 +#: ipalib/plugins/permission.py:1242 msgid "Search for permissions." msgstr "" -#: ipalib/plugins/permission.py:1239 +#: ipalib/plugins/permission.py:1245 #, python-format msgid "%(count)d permission matched" msgid_plural "%(count)d permissions matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/permission.py:1366 +#: ipalib/plugins/permission.py:1371 msgid "Display information about a permission." msgstr "" @@ -10797,100 +10967,100 @@ msgid "" "See role and permission for additional information.\n" msgstr "" -#: ipalib/plugins/privilege.py:54 +#: ipalib/plugins/privilege.py:63 +#, python-format +msgid "" +"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " +"privilege" +msgstr "" + +#: ipalib/plugins/privilege.py:79 msgid "privilege" msgstr "" -#: ipalib/plugins/privilege.py:55 +#: ipalib/plugins/privilege.py:80 msgid "privileges" msgstr "" -#: ipalib/plugins/privilege.py:96 +#: ipalib/plugins/privilege.py:121 msgid "Privileges" msgstr "" -#: ipalib/plugins/privilege.py:97 +#: ipalib/plugins/privilege.py:122 msgid "Privilege" msgstr "" -#: ipalib/plugins/privilege.py:102 +#: ipalib/plugins/privilege.py:127 msgid "Privilege name" msgstr "" -#: ipalib/plugins/privilege.py:108 +#: ipalib/plugins/privilege.py:133 msgid "Privilege description" msgstr "" -#: ipalib/plugins/privilege.py:115 +#: ipalib/plugins/privilege.py:140 msgid "Add a new privilege." msgstr "" -#: ipalib/plugins/privilege.py:117 +#: ipalib/plugins/privilege.py:142 #, python-format msgid "Added privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:122 +#: ipalib/plugins/privilege.py:147 msgid "Delete a privilege." msgstr "" -#: ipalib/plugins/privilege.py:124 +#: ipalib/plugins/privilege.py:149 #, python-format msgid "Deleted privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:129 +#: ipalib/plugins/privilege.py:154 msgid "Modify a privilege." msgstr "" -#: ipalib/plugins/privilege.py:131 +#: ipalib/plugins/privilege.py:156 #, python-format msgid "Modified privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:136 +#: ipalib/plugins/privilege.py:161 msgid "Search for privileges." msgstr "" -#: ipalib/plugins/privilege.py:139 +#: ipalib/plugins/privilege.py:164 #, python-format msgid "%(count)d privilege matched" msgid_plural "%(count)d privileges matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/privilege.py:145 +#: ipalib/plugins/privilege.py:170 msgid "Display information about a privilege." msgstr "" -#: ipalib/plugins/privilege.py:150 +#: ipalib/plugins/privilege.py:175 msgid "Add members to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:165 +#: ipalib/plugins/privilege.py:190 msgid "Add permissions to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:180 -msgid "Number of permissions added" -msgstr "" - #: ipalib/plugins/privilege.py:205 -#, python-format -msgid "" -"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " -"privilege" +msgid "Number of permissions added" msgstr "" -#: ipalib/plugins/privilege.py:218 +#: ipalib/plugins/privilege.py:219 msgid "Remove permissions from a privilege." msgstr "" -#: ipalib/plugins/privilege.py:235 +#: ipalib/plugins/privilege.py:236 msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/pwpolicy.py:31 +#: ipalib/plugins/pwpolicy.py:36 msgid "" "\n" "Password policy\n" @@ -10936,132 +11106,132 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:130 +#: ipalib/plugins/pwpolicy.py:135 #, python-format msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:219 +#: ipalib/plugins/pwpolicy.py:224 msgid "password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:220 +#: ipalib/plugins/pwpolicy.py:225 msgid "password policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:289 +#: ipalib/plugins/pwpolicy.py:294 msgid "Max failures" msgstr "" -#: ipalib/plugins/pwpolicy.py:290 +#: ipalib/plugins/pwpolicy.py:295 msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/pwpolicy.py:295 +#: ipalib/plugins/pwpolicy.py:300 msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/pwpolicy.py:296 +#: ipalib/plugins/pwpolicy.py:301 msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:301 +#: ipalib/plugins/pwpolicy.py:306 msgid "Lockout duration" msgstr "" -#: ipalib/plugins/pwpolicy.py:302 +#: ipalib/plugins/pwpolicy.py:307 msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:307 +#: ipalib/plugins/pwpolicy.py:312 msgid "Password Policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:313 +#: ipalib/plugins/pwpolicy.py:318 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:314 +#: ipalib/plugins/pwpolicy.py:319 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:319 +#: ipalib/plugins/pwpolicy.py:324 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:320 +#: ipalib/plugins/pwpolicy.py:325 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:326 +#: ipalib/plugins/pwpolicy.py:331 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:327 +#: ipalib/plugins/pwpolicy.py:332 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:332 +#: ipalib/plugins/pwpolicy.py:337 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:333 +#: ipalib/plugins/pwpolicy.py:338 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:338 +#: ipalib/plugins/pwpolicy.py:343 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:339 +#: ipalib/plugins/pwpolicy.py:344 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:345 +#: ipalib/plugins/pwpolicy.py:350 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:346 +#: ipalib/plugins/pwpolicy.py:351 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:352 +#: ipalib/plugins/pwpolicy.py:357 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:406 +#: ipalib/plugins/pwpolicy.py:411 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:424 +#: ipalib/plugins/pwpolicy.py:429 msgid "Add a new group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:450 +#: ipalib/plugins/pwpolicy.py:455 msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:462 +#: ipalib/plugins/pwpolicy.py:467 msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:477 +#: ipalib/plugins/pwpolicy.py:482 msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:488 +#: ipalib/plugins/pwpolicy.py:493 msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:520 +#: ipalib/plugins/pwpolicy.py:525 msgid "Display information about password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:525 +#: ipalib/plugins/pwpolicy.py:530 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:549 +#: ipalib/plugins/pwpolicy.py:554 msgid "Search for group password policies." msgstr "" @@ -11230,7 +11400,7 @@ msgstr[1] "" msgid "Display information about a RADIUS proxy server." msgstr "" -#: ipalib/plugins/realmdomains.py:30 +#: ipalib/plugins/realmdomains.py:35 msgid "" "\n" "Realm domains\n" @@ -11253,47 +11423,62 @@ msgid "" " ipa realmdomains-mod --del-domain=olddomain.com\n" msgstr "" -#: ipalib/plugins/realmdomains.py:70 +#: ipalib/plugins/realmdomains.py:75 msgid "Realm domains" msgstr "" -#: ipalib/plugins/realmdomains.py:106 +#: ipalib/plugins/realmdomains.py:111 msgid "Add domain" msgstr "" -#: ipalib/plugins/realmdomains.py:112 +#: ipalib/plugins/realmdomains.py:117 msgid "Delete domain" msgstr "" -#: ipalib/plugins/realmdomains.py:120 +#: ipalib/plugins/realmdomains.py:125 msgid "Modify realm domains." msgstr "" -#: ipalib/plugins/realmdomains.py:125 +#: ipalib/plugins/realmdomains.py:130 msgid "Force adding domain even if not in DNS" msgstr "" -#: ipalib/plugins/realmdomains.py:138 +#: ipalib/plugins/realmdomains.py:155 +#, python-format msgid "" -"you cannot specify the --domain option together with --add-domain or --del-" -"domain" +"DNS zone for each realmdomain must contain SOA or NS records. No records " +"found for: %s" msgstr "" -#: ipalib/plugins/realmdomains.py:140 ipalib/plugins/realmdomains.py:160 -msgid "cannot delete domain of IPA server" +#: ipalib/plugins/realmdomains.py:181 +#, python-format +msgid "The following domains do not belong to this realm: %(domains)s" msgstr "" -#: ipalib/plugins/realmdomains.py:145 +#: ipalib/plugins/realmdomains.py:196 #, python-format -msgid "no SOA or NS records found for domains: %s" +msgid "" +"The realm of the folllowing domains could not be detected: %(domains)s. If " +"these are domains that belong to the this realm, please create a _kerberos " +"TXT record containing \"%(realm)s\" in each of them." msgstr "" -#: ipalib/plugins/realmdomains.py:154 -#, python-format -msgid "no SOA or NS records found for domain %s" +#: ipalib/plugins/realmdomains.py:219 +msgid "" +"The --domain option cannot be used together with --add-domain or --del-" +"domain. Use --domain to specify the whole realm domain list explicitly, to " +"add/remove individual domains, use --add-domain/del-domain." msgstr "" -#: ipalib/plugins/realmdomains.py:217 +#: ipalib/plugins/realmdomains.py:230 +msgid "IPA server domain cannot be omitted" +msgstr "" + +#: ipalib/plugins/realmdomains.py:252 +msgid "IPA server domain cannot be deleted" +msgstr "" + +#: ipalib/plugins/realmdomains.py:339 msgid "Display the list of realm domains." msgstr "" @@ -11737,63 +11922,63 @@ msgstr "" msgid "servers" msgstr "" -#: ipalib/plugins/server.py:45 +#: ipalib/plugins/server.py:46 msgid "IPA Servers" msgstr "" -#: ipalib/plugins/server.py:52 +#: ipalib/plugins/server.py:59 msgid "Server name" msgstr "" -#: ipalib/plugins/server.py:53 +#: ipalib/plugins/server.py:60 msgid "IPA server hostname" msgstr "" -#: ipalib/plugins/server.py:58 -msgid "Managed suffix" +#: ipalib/plugins/server.py:68 +msgid "Managed suffixes" msgstr "" -#: ipalib/plugins/server.py:63 +#: ipalib/plugins/server.py:74 msgid "Min domain level" msgstr "" -#: ipalib/plugins/server.py:64 +#: ipalib/plugins/server.py:75 msgid "Minimum domain level" msgstr "" -#: ipalib/plugins/server.py:70 +#: ipalib/plugins/server.py:81 msgid "Max domain level" msgstr "" -#: ipalib/plugins/server.py:71 +#: ipalib/plugins/server.py:82 msgid "Maximum domain level" msgstr "" -#: ipalib/plugins/server.py:79 +#: ipalib/plugins/server.py:106 msgid "Search for IPA servers." msgstr "" -#: ipalib/plugins/server.py:82 +#: ipalib/plugins/server.py:109 #, python-format msgid "%(count)d IPA server matched" msgid_plural "%(count)d IPA servers matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/server.py:89 +#: ipalib/plugins/server.py:176 msgid "Show IPA server." msgstr "" -#: ipalib/plugins/server.py:94 +#: ipalib/plugins/server.py:188 msgid "Delete IPA server." msgstr "" -#: ipalib/plugins/server.py:96 +#: ipalib/plugins/server.py:190 #, python-format msgid "Deleted IPA server \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:36 +#: ipalib/plugins/service.py:41 msgid "" "\n" "Services\n" @@ -11851,14 +12036,14 @@ msgid "" " ipa cert-request --principal=HTTP/web.example.com example.csr\n" msgstr "" -#: ipalib/plugins/service.py:89 +#: ipalib/plugins/service.py:94 msgid "" "\n" " Allow user to create a keytab:\n" " ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" msgstr "" -#: ipalib/plugins/service.py:92 +#: ipalib/plugins/service.py:97 msgid "" "\n" " Generate and retrieve a keytab for an IPA service:\n" @@ -11867,160 +12052,178 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/service.py:169 +#: ipalib/plugins/service.py:174 msgid "Requires pre-authentication" msgstr "" -#: ipalib/plugins/service.py:170 +#: ipalib/plugins/service.py:175 msgid "Pre-authentication is required for the service" msgstr "" -#: ipalib/plugins/service.py:175 +#: ipalib/plugins/service.py:180 msgid "Trusted for delegation" msgstr "" -#: ipalib/plugins/service.py:176 +#: ipalib/plugins/service.py:181 msgid "Client credentials may be delegated to the service" msgstr "" -#: ipalib/plugins/service.py:196 +#: ipalib/plugins/service.py:201 msgid "unable to determine service" msgstr "" -#: ipalib/plugins/service.py:200 +#: ipalib/plugins/service.py:205 msgid "blank service" msgstr "" -#: ipalib/plugins/service.py:208 +#: ipalib/plugins/service.py:213 msgid "unable to determine realm" msgstr "" -#: ipalib/plugins/service.py:225 +#: ipalib/plugins/service.py:230 msgid "missing service" msgstr "" -#: ipalib/plugins/service.py:287 +#: ipalib/plugins/service.py:318 msgid "This principal is required by the IPA master" msgstr "" -#: ipalib/plugins/service.py:360 +#: ipalib/plugins/service.py:391 msgid "service" msgstr "" -#: ipalib/plugins/service.py:361 +#: ipalib/plugins/service.py:392 msgid "services" msgstr "" -#: ipalib/plugins/service.py:447 +#: ipalib/plugins/service.py:477 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:459 +#: ipalib/plugins/service.py:489 msgid "PAC type" msgstr "" -#: ipalib/plugins/service.py:460 +#: ipalib/plugins/service.py:490 msgid "" "Override default list of supported PAC types. Use 'NONE' to disable PAC " "support for this service, e.g. this might be necessary for NFS services." msgstr "" -#: ipalib/plugins/service.py:481 +#: ipalib/plugins/service.py:511 msgid "NONE value cannot be combined with other PAC types" msgstr "" -#: ipalib/plugins/service.py:490 +#: ipalib/plugins/service.py:520 msgid "Add a new IPA new service." msgstr "" -#: ipalib/plugins/service.py:492 +#: ipalib/plugins/service.py:522 #, python-format msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:498 +#: ipalib/plugins/service.py:528 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:512 +#: ipalib/plugins/service.py:542 #, python-format msgid "The host '%s' does not exist to add a service to." msgstr "" -#: ipalib/plugins/service.py:553 +#: ipalib/plugins/service.py:583 msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/service.py:555 +#: ipalib/plugins/service.py:585 #, python-format msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:596 +#: ipalib/plugins/service.py:607 msgid "Modify an existing IPA service." msgstr "" -#: ipalib/plugins/service.py:598 +#: ipalib/plugins/service.py:609 #, python-format msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:666 +#: ipalib/plugins/service.py:656 msgid "Search for IPA services." msgstr "" -#: ipalib/plugins/service.py:669 +#: ipalib/plugins/service.py:659 #, python-format msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:704 +#: ipalib/plugins/service.py:694 msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/service.py:746 +#: ipalib/plugins/service.py:736 msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:755 +#: ipalib/plugins/service.py:745 msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:763 +#: ipalib/plugins/service.py:753 msgid "" "Allow users, groups, hosts or host groups to retrieve a keytab of this " "service." msgstr "" -#: ipalib/plugins/service.py:782 +#: ipalib/plugins/service.py:772 msgid "" "Disallow users, groups, hosts or host groups to retrieve a keytab of this " "service." msgstr "" -#: ipalib/plugins/service.py:800 +#: ipalib/plugins/service.py:790 msgid "" "Allow users, groups, hosts or host groups to create a keytab of this service." msgstr "" -#: ipalib/plugins/service.py:819 +#: ipalib/plugins/service.py:809 msgid "" "Disallow users, groups, hosts or host groups to create a keytab of this " "service." msgstr "" -#: ipalib/plugins/service.py:837 +#: ipalib/plugins/service.py:827 msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/service.py:840 +#: ipalib/plugins/service.py:830 #, python-format msgid "Disabled service \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:12 +#: ipalib/plugins/service.py:871 +msgid "Add new certificates to a service" +msgstr "" + +#: ipalib/plugins/service.py:872 +#, python-format +msgid "Added certificates to service principal \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/service.py:878 +msgid "Remove certificates from a service" +msgstr "" + +#: ipalib/plugins/service.py:879 +#, python-format +msgid "Removed certificates from service principal \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/servicedelegation.py:17 msgid "" "\n" "Service Constrained Delegation\n" @@ -12078,167 +12281,167 @@ msgid "" "\n" "It is strongly discouraged to modify the delegations that ship with\n" "IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and\n" -"ipa-ldap-delegation-targets. Incorrect changes can remove the ablity\n" +"ipa-ldap-delegation-targets. Incorrect changes can remove the ability\n" "to delegate, causing the framework to stop functioning.\n" msgstr "" -#: ipalib/plugins/servicedelegation.py:88 +#: ipalib/plugins/servicedelegation.py:93 msgid "Allowed Target" msgstr "" -#: ipalib/plugins/servicedelegation.py:92 +#: ipalib/plugins/servicedelegation.py:97 msgid "Allowed to Impersonate" msgstr "" -#: ipalib/plugins/servicedelegation.py:96 +#: ipalib/plugins/servicedelegation.py:101 msgid "Member principals" msgstr "" -#: ipalib/plugins/servicedelegation.py:104 +#: ipalib/plugins/servicedelegation.py:109 msgid "Failed targets" msgstr "" -#: ipalib/plugins/servicedelegation.py:168 +#: ipalib/plugins/servicedelegation.py:173 msgid "Add target to a named service delegation." msgstr "" -#: ipalib/plugins/servicedelegation.py:249 +#: ipalib/plugins/servicedelegation.py:254 msgid "Remove member from a named service delegation." msgstr "" -#: ipalib/plugins/servicedelegation.py:342 -#: ipalib/plugins/servicedelegation.py:375 +#: ipalib/plugins/servicedelegation.py:347 +#: ipalib/plugins/servicedelegation.py:380 msgid "service delegation rule" msgstr "" -#: ipalib/plugins/servicedelegation.py:343 +#: ipalib/plugins/servicedelegation.py:348 msgid "service delegation rules" msgstr "" -#: ipalib/plugins/servicedelegation.py:354 +#: ipalib/plugins/servicedelegation.py:359 msgid "Service delegation rules" msgstr "" -#: ipalib/plugins/servicedelegation.py:355 +#: ipalib/plugins/servicedelegation.py:360 msgid "Service delegation rule" msgstr "" -#: ipalib/plugins/servicedelegation.py:360 +#: ipalib/plugins/servicedelegation.py:365 msgid "Create a new service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:362 +#: ipalib/plugins/servicedelegation.py:367 #, python-format msgid "Added service delegation rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:367 +#: ipalib/plugins/servicedelegation.py:372 msgid "Delete service delegation." msgstr "" -#: ipalib/plugins/servicedelegation.py:369 +#: ipalib/plugins/servicedelegation.py:374 #, python-format msgid "Deleted service delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:377 +#: ipalib/plugins/servicedelegation.py:382 msgid "privileged service delegation rule" msgstr "" -#: ipalib/plugins/servicedelegation.py:384 +#: ipalib/plugins/servicedelegation.py:389 msgid "Search for service delegations rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:389 +#: ipalib/plugins/servicedelegation.py:394 #, python-format msgid "%(count)d service delegation rule matched" msgid_plural "%(count)d service delegation rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/servicedelegation.py:396 +#: ipalib/plugins/servicedelegation.py:401 msgid "Display information about a named service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:403 +#: ipalib/plugins/servicedelegation.py:408 msgid "Add member to a named service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:412 +#: ipalib/plugins/servicedelegation.py:417 msgid "Remove member from a named service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:420 +#: ipalib/plugins/servicedelegation.py:425 msgid "Add target to a named service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:431 +#: ipalib/plugins/servicedelegation.py:436 msgid "Remove target from a named service delegation rule." msgstr "" -#: ipalib/plugins/servicedelegation.py:441 -#: ipalib/plugins/servicedelegation.py:470 +#: ipalib/plugins/servicedelegation.py:446 +#: ipalib/plugins/servicedelegation.py:475 msgid "service delegation target" msgstr "" -#: ipalib/plugins/servicedelegation.py:442 +#: ipalib/plugins/servicedelegation.py:447 msgid "service delegation targets" msgstr "" -#: ipalib/plugins/servicedelegation.py:449 +#: ipalib/plugins/servicedelegation.py:454 msgid "Service delegation targets" msgstr "" -#: ipalib/plugins/servicedelegation.py:450 +#: ipalib/plugins/servicedelegation.py:455 msgid "Service delegation target" msgstr "" -#: ipalib/plugins/servicedelegation.py:455 +#: ipalib/plugins/servicedelegation.py:460 msgid "Create a new service delegation target." msgstr "" -#: ipalib/plugins/servicedelegation.py:457 +#: ipalib/plugins/servicedelegation.py:462 #, python-format msgid "Added service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:462 +#: ipalib/plugins/servicedelegation.py:467 msgid "Delete service delegation target." msgstr "" -#: ipalib/plugins/servicedelegation.py:464 +#: ipalib/plugins/servicedelegation.py:469 #, python-format msgid "Deleted service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:472 +#: ipalib/plugins/servicedelegation.py:477 msgid "privileged service delegation target" msgstr "" -#: ipalib/plugins/servicedelegation.py:479 +#: ipalib/plugins/servicedelegation.py:484 msgid "Search for service delegation target." msgstr "" -#: ipalib/plugins/servicedelegation.py:484 +#: ipalib/plugins/servicedelegation.py:489 #, python-format msgid "%(count)d service delegation target matched" msgid_plural "%(count)d service delegation targets matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/servicedelegation.py:518 +#: ipalib/plugins/servicedelegation.py:523 msgid "Display information about a named service delegation target." msgstr "" -#: ipalib/plugins/servicedelegation.py:525 +#: ipalib/plugins/servicedelegation.py:530 msgid "Add member to a named service delegation target." msgstr "" -#: ipalib/plugins/servicedelegation.py:534 +#: ipalib/plugins/servicedelegation.py:539 msgid "Remove member from a named service delegation target." msgstr "" -#: ipalib/plugins/stageuser.py:48 +#: ipalib/plugins/stageuser.py:53 msgid "" "\n" "Stageusers\n" @@ -12287,103 +12490,112 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/stageuser.py:110 +#: ipalib/plugins/stageuser.py:115 msgid "Stage Users" msgstr "" -#: ipalib/plugins/stageuser.py:111 +#: ipalib/plugins/stageuser.py:116 msgid "Stage User" msgstr "" -#: ipalib/plugins/stageuser.py:112 +#: ipalib/plugins/stageuser.py:117 msgid "stage user" msgstr "" -#: ipalib/plugins/stageuser.py:113 +#: ipalib/plugins/stageuser.py:118 msgid "stage users" msgstr "" -#: ipalib/plugins/stageuser.py:248 +#: ipalib/plugins/stageuser.py:263 msgid "Add a new stage user." msgstr "" -#: ipalib/plugins/stageuser.py:250 +#: ipalib/plugins/stageuser.py:265 #, python-format msgid "Added stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/stageuser.py:256 +#: ipalib/plugins/stageuser.py:271 msgid "Create Stage user in from a delete user" msgstr "" -#: ipalib/plugins/stageuser.py:268 +#: ipalib/plugins/stageuser.py:282 msgid "givenname is required" msgstr "" -#: ipalib/plugins/stageuser.py:271 +#: ipalib/plugins/stageuser.py:285 msgid "sn is required" msgstr "" -#: ipalib/plugins/stageuser.py:412 +#: ipalib/plugins/stageuser.py:397 msgid "Delete a stage user." msgstr "" -#: ipalib/plugins/stageuser.py:414 +#: ipalib/plugins/stageuser.py:399 #, python-format msgid "Deleted stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/stageuser.py:418 +#: ipalib/plugins/stageuser.py:403 msgid "Modify a stage user." msgstr "" -#: ipalib/plugins/stageuser.py:420 +#: ipalib/plugins/stageuser.py:405 #, python-format msgid "Modified stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/stageuser.py:439 +#: ipalib/plugins/stageuser.py:424 msgid "Search for stage users." msgstr "" -#: ipalib/plugins/stageuser.py:469 ipalib/plugins/user.py:711 +#: ipalib/plugins/stageuser.py:447 ipalib/plugins/user.py:755 #, python-format msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/stageuser.py:474 +#: ipalib/plugins/stageuser.py:452 msgid "Display information about a stage user." msgstr "" -#: ipalib/plugins/stageuser.py:486 +#: ipalib/plugins/stageuser.py:464 msgid "Activate a stage user." msgstr "" -#: ipalib/plugins/stageuser.py:488 +#: ipalib/plugins/stageuser.py:466 #, python-format msgid "Activate a stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/stageuser.py:501 +#: ipalib/plugins/stageuser.py:479 msgid "Entry RDN is not 'uid'" msgstr "" -#: ipalib/plugins/stageuser.py:507 -msgid "Entry has no 'cn'" +#: ipalib/plugins/stageuser.py:485 +#, python-format +msgid "Entry has no '%(attribute)s'" msgstr "" -#: ipalib/plugins/stageuser.py:677 +#: ipalib/plugins/stageuser.py:656 #, python-format -msgid "Active user %(user)s already exists" +msgid "active user with name \"%(user)s\" already exists" msgstr "" -#: ipalib/plugins/stageuser.py:738 +#: ipalib/plugins/stageuser.py:717 #, python-format msgid "Stage user %s activated" msgstr "" +#: ipalib/plugins/stageuser.py:723 +msgid "Add a manager to the stage user entry" +msgstr "" + +#: ipalib/plugins/stageuser.py:728 +msgid "Remove a manager to the stage user entry" +msgstr "" + #: ipalib/plugins/sudocmd.py:30 msgid "" "\n" @@ -12555,13 +12767,13 @@ msgstr "" msgid "Remove members from Sudo Command Group." msgstr "" -#: ipalib/plugins/sudorule.py:38 +#: ipalib/plugins/sudorule.py:42 msgid "" "\n" "Sudo Rules\n" msgstr "" -#: ipalib/plugins/sudorule.py:40 +#: ipalib/plugins/sudorule.py:44 msgid "" "\n" "Sudo (su \"do\") allows a system administrator to delegate authority to\n" @@ -12570,7 +12782,7 @@ msgid "" "commands and their arguments.\n" msgstr "" -#: ipalib/plugins/sudorule.py:45 +#: ipalib/plugins/sudorule.py:49 msgid "" "\n" "FreeIPA provides a means to configure the various aspects of Sudo:\n" @@ -12585,7 +12797,7 @@ msgid "" " Options: The various Sudoers Options that can modify Sudo's behavior.\n" msgstr "" -#: ipalib/plugins/sudorule.py:54 +#: ipalib/plugins/sudorule.py:58 msgid "" "\n" "An order can be added to a sudorule to control the order in which they\n" @@ -12593,14 +12805,14 @@ msgid "" "must be unique.\n" msgstr "" -#: ipalib/plugins/sudorule.py:58 +#: ipalib/plugins/sudorule.py:62 msgid "" "\n" "FreeIPA provides a designated binddn to use with Sudo located at:\n" "uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" msgstr "" -#: ipalib/plugins/sudorule.py:61 +#: ipalib/plugins/sudorule.py:65 msgid "" "\n" "To enable the binddn run the following command to set the password:\n" @@ -12609,14 +12821,14 @@ msgid "" "dc=com\n" msgstr "" -#: ipalib/plugins/sudorule.py:68 +#: ipalib/plugins/sudorule.py:72 msgid "" "\n" " Create a new rule:\n" " ipa sudorule-add readfiles\n" msgstr "" -#: ipalib/plugins/sudorule.py:71 +#: ipalib/plugins/sudorule.py:75 msgid "" "\n" " Add sudo command object and add it as allowed command in the rule:\n" @@ -12624,360 +12836,360 @@ msgid "" " ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less\n" msgstr "" -#: ipalib/plugins/sudorule.py:75 +#: ipalib/plugins/sudorule.py:79 msgid "" "\n" " Add a host to the rule:\n" " ipa sudorule-add-host readfiles --hosts server.example.com\n" msgstr "" -#: ipalib/plugins/sudorule.py:78 +#: ipalib/plugins/sudorule.py:82 msgid "" "\n" " Add a user to the rule:\n" " ipa sudorule-add-user readfiles --users jsmith\n" msgstr "" -#: ipalib/plugins/sudorule.py:81 +#: ipalib/plugins/sudorule.py:85 msgid "" "\n" " Add a special Sudo rule for default Sudo server configuration:\n" " ipa sudorule-add defaults\n" msgstr "" -#: ipalib/plugins/sudorule.py:84 +#: ipalib/plugins/sudorule.py:88 msgid "" "\n" " Set a default Sudo option:\n" " ipa sudorule-add-option defaults --sudooption '!authenticate'\n" msgstr "" -#: ipalib/plugins/sudorule.py:91 +#: ipalib/plugins/sudorule.py:95 msgid "Commands for controlling sudo configuration" msgstr "" -#: ipalib/plugins/sudorule.py:97 +#: ipalib/plugins/sudorule.py:101 msgid "this option has been deprecated." msgstr "" -#: ipalib/plugins/sudorule.py:101 +#: ipalib/plugins/sudorule.py:105 msgid "host masks of allowed hosts" msgstr "" -#: ipalib/plugins/sudorule.py:124 +#: ipalib/plugins/sudorule.py:128 msgid "sudo rule" msgstr "" -#: ipalib/plugins/sudorule.py:125 +#: ipalib/plugins/sudorule.py:129 msgid "sudo rules" msgstr "" -#: ipalib/plugins/sudorule.py:212 +#: ipalib/plugins/sudorule.py:216 msgid "Sudo Rules" msgstr "" -#: ipalib/plugins/sudorule.py:213 +#: ipalib/plugins/sudorule.py:217 msgid "Sudo Rule" msgstr "" -#: ipalib/plugins/sudorule.py:243 +#: ipalib/plugins/sudorule.py:247 msgid "Command category" msgstr "" -#: ipalib/plugins/sudorule.py:244 +#: ipalib/plugins/sudorule.py:248 msgid "Command category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:249 +#: ipalib/plugins/sudorule.py:253 msgid "RunAs User category" msgstr "" -#: ipalib/plugins/sudorule.py:250 +#: ipalib/plugins/sudorule.py:254 msgid "RunAs User category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:255 +#: ipalib/plugins/sudorule.py:259 msgid "RunAs Group category" msgstr "" -#: ipalib/plugins/sudorule.py:256 +#: ipalib/plugins/sudorule.py:260 msgid "RunAs Group category the rule applies to" msgstr "" -#: ipalib/plugins/sudorule.py:261 +#: ipalib/plugins/sudorule.py:265 msgid "Sudo order" msgstr "" -#: ipalib/plugins/sudorule.py:262 +#: ipalib/plugins/sudorule.py:266 msgid "integer to order the Sudo rules" msgstr "" -#: ipalib/plugins/sudorule.py:276 +#: ipalib/plugins/sudorule.py:280 msgid "External User" msgstr "" -#: ipalib/plugins/sudorule.py:277 +#: ipalib/plugins/sudorule.py:281 msgid "External User the rule applies to (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:289 +#: ipalib/plugins/sudorule.py:293 msgid "Host Masks" msgstr "" -#: ipalib/plugins/sudorule.py:295 +#: ipalib/plugins/sudorule.py:299 msgid "Sudo Allow Commands" msgstr "" -#: ipalib/plugins/sudorule.py:299 +#: ipalib/plugins/sudorule.py:303 msgid "Sudo Deny Commands" msgstr "" -#: ipalib/plugins/sudorule.py:303 +#: ipalib/plugins/sudorule.py:307 msgid "Sudo Allow Command Groups" msgstr "" -#: ipalib/plugins/sudorule.py:307 +#: ipalib/plugins/sudorule.py:311 msgid "Sudo Deny Command Groups" msgstr "" -#: ipalib/plugins/sudorule.py:311 +#: ipalib/plugins/sudorule.py:315 msgid "RunAs Users" msgstr "" -#: ipalib/plugins/sudorule.py:312 +#: ipalib/plugins/sudorule.py:316 msgid "Run as a user" msgstr "" -#: ipalib/plugins/sudorule.py:316 +#: ipalib/plugins/sudorule.py:320 msgid "Groups of RunAs Users" msgstr "" -#: ipalib/plugins/sudorule.py:317 +#: ipalib/plugins/sudorule.py:321 msgid "Run as any user within a specified group" msgstr "" -#: ipalib/plugins/sudorule.py:322 +#: ipalib/plugins/sudorule.py:326 msgid "RunAs External User" msgstr "" -#: ipalib/plugins/sudorule.py:323 +#: ipalib/plugins/sudorule.py:327 msgid "External User the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:327 +#: ipalib/plugins/sudorule.py:331 msgid "External Groups of RunAs Users" msgstr "" -#: ipalib/plugins/sudorule.py:328 +#: ipalib/plugins/sudorule.py:332 msgid "External Groups of users that the command can run as" msgstr "" -#: ipalib/plugins/sudorule.py:332 +#: ipalib/plugins/sudorule.py:336 msgid "RunAs Groups" msgstr "" -#: ipalib/plugins/sudorule.py:333 +#: ipalib/plugins/sudorule.py:337 msgid "Run with the gid of a specified POSIX group" msgstr "" -#: ipalib/plugins/sudorule.py:338 +#: ipalib/plugins/sudorule.py:342 msgid "RunAs External Group" msgstr "" -#: ipalib/plugins/sudorule.py:339 +#: ipalib/plugins/sudorule.py:343 msgid "External Group the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:342 ipalib/plugins/sudorule.py:915 -#: ipalib/plugins/sudorule.py:968 +#: ipalib/plugins/sudorule.py:346 ipalib/plugins/sudorule.py:920 +#: ipalib/plugins/sudorule.py:973 msgid "Sudo Option" msgstr "" -#: ipalib/plugins/sudorule.py:348 +#: ipalib/plugins/sudorule.py:352 #, python-format msgid "order must be a unique value (%(order)d already used by %(rule)s)" msgstr "" -#: ipalib/plugins/sudorule.py:370 +#: ipalib/plugins/sudorule.py:374 msgid "Create new Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:379 +#: ipalib/plugins/sudorule.py:383 #, python-format msgid "Added Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:384 +#: ipalib/plugins/sudorule.py:388 msgid "Delete Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:386 +#: ipalib/plugins/sudorule.py:390 #, python-format msgid "Deleted Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:391 +#: ipalib/plugins/sudorule.py:395 msgid "Modify Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:393 +#: ipalib/plugins/sudorule.py:397 #, python-format msgid "Modified Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:413 +#: ipalib/plugins/sudorule.py:417 #, python-format msgid "" "%(type)s category cannot be set to 'all' while there are allowed %(objects)s" msgstr "" -#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:127 +#: ipalib/plugins/sudorule.py:423 ipalib/plugins/user.py:135 msgid "user" msgstr "" -#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:128 +#: ipalib/plugins/sudorule.py:423 ipalib/plugins/user.py:136 msgid "users" msgstr "" -#: ipalib/plugins/sudorule.py:429 +#: ipalib/plugins/sudorule.py:433 msgid "command" msgstr "" -#: ipalib/plugins/sudorule.py:429 +#: ipalib/plugins/sudorule.py:433 msgid "commands" msgstr "" -#: ipalib/plugins/sudorule.py:435 +#: ipalib/plugins/sudorule.py:439 msgid "runAs user" msgstr "" -#: ipalib/plugins/sudorule.py:435 +#: ipalib/plugins/sudorule.py:439 msgid "runAs users" msgstr "" -#: ipalib/plugins/sudorule.py:440 +#: ipalib/plugins/sudorule.py:444 msgid "group runAs" msgstr "" -#: ipalib/plugins/sudorule.py:440 +#: ipalib/plugins/sudorule.py:444 msgid "runAs groups" msgstr "" -#: ipalib/plugins/sudorule.py:458 +#: ipalib/plugins/sudorule.py:462 msgid "Search for Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:461 +#: ipalib/plugins/sudorule.py:465 #, python-format msgid "%(count)d Sudo Rule matched" msgid_plural "%(count)d Sudo Rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudorule.py:467 +#: ipalib/plugins/sudorule.py:471 msgid "Display Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:472 +#: ipalib/plugins/sudorule.py:476 msgid "Enable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:493 +#: ipalib/plugins/sudorule.py:497 #, python-format msgid "Enabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:498 +#: ipalib/plugins/sudorule.py:502 msgid "Disable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:519 +#: ipalib/plugins/sudorule.py:523 #, python-format msgid "Disabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:524 ipalib/plugins/sudorule.py:555 +#: ipalib/plugins/sudorule.py:528 ipalib/plugins/sudorule.py:559 msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:539 +#: ipalib/plugins/sudorule.py:543 msgid "commands cannot be added when command category='all'" msgstr "" -#: ipalib/plugins/sudorule.py:547 ipalib/plugins/sudorule.py:567 +#: ipalib/plugins/sudorule.py:551 ipalib/plugins/sudorule.py:571 msgid "Remove commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:575 +#: ipalib/plugins/sudorule.py:579 msgid "Add users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:607 +#: ipalib/plugins/sudorule.py:611 msgid "Remove users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:625 +#: ipalib/plugins/sudorule.py:629 msgid "Add hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:682 +#: ipalib/plugins/sudorule.py:686 msgid "Remove hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:727 +#: ipalib/plugins/sudorule.py:732 msgid "Add users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:750 ipalib/plugins/sudorule.py:863 +#: ipalib/plugins/sudorule.py:755 ipalib/plugins/sudorule.py:868 msgid "users cannot be added when runAs user or runAs group category='all'" msgstr "" -#: ipalib/plugins/sudorule.py:757 +#: ipalib/plugins/sudorule.py:762 #, python-format msgid "RunAsUser does not accept '%(name)s' as a user name" msgstr "" -#: ipalib/plugins/sudorule.py:765 +#: ipalib/plugins/sudorule.py:770 #, python-format msgid "RunAsUser does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/sudorule.py:804 +#: ipalib/plugins/sudorule.py:809 msgid "Remove users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:842 +#: ipalib/plugins/sudorule.py:847 msgid "Add group for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:870 +#: ipalib/plugins/sudorule.py:875 #, python-format msgid "RunAsGroup does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/sudorule.py:890 +#: ipalib/plugins/sudorule.py:895 msgid "Remove group for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:909 +#: ipalib/plugins/sudorule.py:914 msgid "Add an option to the Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:953 +#: ipalib/plugins/sudorule.py:958 #, python-format msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:962 +#: ipalib/plugins/sudorule.py:967 msgid "Remove an option from Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:1011 +#: ipalib/plugins/sudorule.py:1016 #, python-format msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/plugins/topology.py:16 +#: ipalib/plugins/topology.py:22 msgid "" "\n" "Topology\n" @@ -12987,269 +13199,313 @@ msgid "" "Requires minimum domain level 1.\n" msgstr "" -#: ipalib/plugins/topology.py:33 +#: ipalib/plugins/topology.py:37 #, python-brace-format msgid "Topology management requires minimum domain level {0} " msgstr "" -#: ipalib/plugins/topology.py:45 +#: ipalib/plugins/topology.py:49 msgid "segment" msgstr "" -#: ipalib/plugins/topology.py:46 +#: ipalib/plugins/topology.py:50 msgid "segments" msgstr "" -#: ipalib/plugins/topology.py:60 +#: ipalib/plugins/topology.py:64 msgid "Topology Segments" msgstr "" -#: ipalib/plugins/topology.py:61 +#: ipalib/plugins/topology.py:65 msgid "Topology Segment" msgstr "" -#: ipalib/plugins/topology.py:69 +#: ipalib/plugins/topology.py:73 msgid "Segment name" msgstr "" -#: ipalib/plugins/topology.py:73 +#: ipalib/plugins/topology.py:77 msgid "Arbitrary string identifying the segment" msgstr "" -#: ipalib/plugins/topology.py:81 +#: ipalib/plugins/topology.py:85 msgid "Left node" msgstr "" -#: ipalib/plugins/topology.py:83 +#: ipalib/plugins/topology.py:87 msgid "Left replication node - an IPA server" msgstr "" -#: ipalib/plugins/topology.py:92 +#: ipalib/plugins/topology.py:96 msgid "Right node" msgstr "" -#: ipalib/plugins/topology.py:94 +#: ipalib/plugins/topology.py:98 msgid "Right replication node - an IPA server" msgstr "" -#: ipalib/plugins/topology.py:100 +#: ipalib/plugins/topology.py:104 msgid "Connectivity" msgstr "" -#: ipalib/plugins/topology.py:103 +#: ipalib/plugins/topology.py:108 msgid "Direction of replication between left and right replication node" msgstr "" -#: ipalib/plugins/topology.py:110 +#: ipalib/plugins/topology.py:115 msgid "Attributes to strip" msgstr "" -#: ipalib/plugins/topology.py:112 +#: ipalib/plugins/topology.py:117 msgid "" "A space separated list of attributes which are removed from replication " "updates." msgstr "" -#: ipalib/plugins/topology.py:119 +#: ipalib/plugins/topology.py:124 msgid "" "Attributes that are not replicated to a consumer server during a fractional " "update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" msgstr "" -#: ipalib/plugins/topology.py:126 +#: ipalib/plugins/topology.py:131 msgid "Attributes for total update" msgstr "" -#: ipalib/plugins/topology.py:127 +#: ipalib/plugins/topology.py:132 msgid "" "Attributes that are not replicated to a consumer server during a total " "update. E.g. (objectclass=*) $ EXCLUDE accountlockout" msgstr "" -#: ipalib/plugins/topology.py:134 +#: ipalib/plugins/topology.py:139 msgid "Session timeout" msgstr "" -#: ipalib/plugins/topology.py:136 +#: ipalib/plugins/topology.py:141 msgid "" "Number of seconds outbound LDAP operations waits for a response from the " "remote replica before timing out and failing" msgstr "" -#: ipalib/plugins/topology.py:143 +#: ipalib/plugins/topology.py:148 msgid "Replication agreement enabled" msgstr "" -#: ipalib/plugins/topology.py:144 +#: ipalib/plugins/topology.py:149 msgid "" "Whether a replication agreement is active, meaning whether replication is " "occurring per that agreement" msgstr "" -#: ipalib/plugins/topology.py:164 +#: ipalib/plugins/topology.py:170 #, python-format msgid "left node is not a topology node: %(leftnode)s" msgstr "" -#: ipalib/plugins/topology.py:171 +#: ipalib/plugins/topology.py:177 #, python-format msgid "right node is not a topology node: %(rightnode)s" msgstr "" -#: ipalib/plugins/topology.py:188 +#: ipalib/plugins/topology.py:194 msgid "left node and right node must not be the same" msgstr "" -#: ipalib/plugins/topology.py:194 +#: ipalib/plugins/topology.py:200 msgid "Search for topology segments." msgstr "" -#: ipalib/plugins/topology.py:197 +#: ipalib/plugins/topology.py:203 #, python-format msgid "%(count)d segment matched" msgid_plural "%(count)d segments matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/topology.py:204 +#: ipalib/plugins/topology.py:210 msgid "Add a new segment." msgstr "" -#: ipalib/plugins/topology.py:206 +#: ipalib/plugins/topology.py:212 #, python-format msgid "Added segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:217 +#: ipalib/plugins/topology.py:223 msgid "Delete a segment." msgstr "" -#: ipalib/plugins/topology.py:219 +#: ipalib/plugins/topology.py:225 #, python-format msgid "Deleted segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:229 +#: ipalib/plugins/topology.py:235 msgid "Modify a segment." msgstr "" -#: ipalib/plugins/topology.py:231 +#: ipalib/plugins/topology.py:237 #, python-format msgid "Modified segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:242 +#: ipalib/plugins/topology.py:248 msgid "" "Request a full re-initialization of the node retrieving data from the other " "node." msgstr "" -#: ipalib/plugins/topology.py:246 +#: ipalib/plugins/topology.py:252 #, python-format msgid "%(value)s" msgstr "" -#: ipalib/plugins/topology.py:251 +#: ipalib/plugins/topology.py:257 msgid "Initialize left node" msgstr "" -#: ipalib/plugins/topology.py:256 +#: ipalib/plugins/topology.py:262 msgid "Initialize right node" msgstr "" -#: ipalib/plugins/topology.py:261 +#: ipalib/plugins/topology.py:267 msgid "Stop already started refresh of chosen node(s)" msgstr "" -#: ipalib/plugins/topology.py:282 +#: ipalib/plugins/topology.py:288 msgid "left or right node has to be specified" msgstr "" -#: ipalib/plugins/topology.py:287 +#: ipalib/plugins/topology.py:293 msgid "only one node can be specified" msgstr "" -#: ipalib/plugins/topology.py:291 +#: ipalib/plugins/topology.py:297 #, python-format msgid "Replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/topology.py:294 +#: ipalib/plugins/topology.py:300 #, python-format msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/topology.py:315 +#: ipalib/plugins/topology.py:321 msgid "Display a segment." msgstr "" -#: ipalib/plugins/topology.py:324 +#: ipalib/plugins/topology.py:330 msgid "suffix" msgstr "" -#: ipalib/plugins/topology.py:325 -msgid "suffices" +#: ipalib/plugins/topology.py:331 +msgid "suffixes" msgstr "" -#: ipalib/plugins/topology.py:329 -msgid "Topology suffices" +#: ipalib/plugins/topology.py:335 +msgid "Topology suffixes" msgstr "" -#: ipalib/plugins/topology.py:330 +#: ipalib/plugins/topology.py:336 msgid "Topology suffix" msgstr "" -#: ipalib/plugins/topology.py:337 +#: ipalib/plugins/topology.py:343 msgid "Suffix name" msgstr "" -#: ipalib/plugins/topology.py:343 +#: ipalib/plugins/topology.py:349 msgid "LDAP suffix to be managed" msgstr "" -#: ipalib/plugins/topology.py:351 -msgid "Search for topology suffices." +#: ipalib/plugins/topology.py:357 +msgid "Search for topology suffixes." msgstr "" -#: ipalib/plugins/topology.py:354 +#: ipalib/plugins/topology.py:360 #, python-format msgid "%(count)d topology suffix matched" -msgid_plural "%(count)d topology suffices matched" +msgid_plural "%(count)d topology suffixes matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/topology.py:361 +#: ipalib/plugins/topology.py:367 msgid "Delete a topology suffix." msgstr "" -#: ipalib/plugins/topology.py:365 +#: ipalib/plugins/topology.py:371 #, python-format msgid "Deleted topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:375 +#: ipalib/plugins/topology.py:381 msgid "Add a new topology suffix to be managed." msgstr "" -#: ipalib/plugins/topology.py:379 +#: ipalib/plugins/topology.py:385 #, python-format msgid "Added topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:389 +#: ipalib/plugins/topology.py:395 msgid "Modify a topology suffix." msgstr "" -#: ipalib/plugins/topology.py:393 +#: ipalib/plugins/topology.py:399 #, python-format msgid "Modified topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:403 +#: ipalib/plugins/topology.py:409 msgid "Show managed suffix." msgstr "" -#: ipalib/plugins/trust.py:50 +#: ipalib/plugins/topology.py:414 +msgid "" +"\n" +"Verify replication topology for suffix.\n" +"\n" +"Checks done:\n" +" 1. check if a topology is not disconnected. In other words if there are\n" +" replication paths between all servers.\n" +" 2. check if servers don't have more than the recommended number of\n" +" replication agreements\n" +msgstr "" + +#: ipalib/plugins/topology.py:463 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" is in order." +msgstr "" + +#: ipalib/plugins/topology.py:466 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" contains errors." +msgstr "" + +#: ipalib/plugins/topology.py:471 +msgid "Topology is disconnected" +msgstr "" + +#: ipalib/plugins/topology.py:473 +#, python-format +msgid "Server %(srv)s can't contact servers: %(replicas)s" +msgstr "" + +#: ipalib/plugins/topology.py:478 +msgid "Recommended maximum number of agreements per replica exceeded" +msgstr "" + +#: ipalib/plugins/topology.py:481 +msgid "Maximum number of agreements per replica" +msgstr "" + +#: ipalib/plugins/topology.py:485 +#, python-format +msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" +msgstr "" + +#: ipalib/plugins/trust.py:58 msgid "" "\n" "Cross-realm trusts\n" @@ -13350,72 +13606,103 @@ msgid "" "\"\n" msgstr "" -#: ipalib/plugins/trust.py:144 +#: ipalib/plugins/trust.py:152 msgid "Non-Active Directory domain" msgstr "" -#: ipalib/plugins/trust.py:146 +#: ipalib/plugins/trust.py:154 msgid "RFC4120-compliant Kerberos realm" msgstr "" -#: ipalib/plugins/trust.py:147 +#: ipalib/plugins/trust.py:155 msgid "Trusting forest" msgstr "" -#: ipalib/plugins/trust.py:148 +#: ipalib/plugins/trust.py:156 msgid "Trusted forest" msgstr "" -#: ipalib/plugins/trust.py:149 +#: ipalib/plugins/trust.py:157 ipalib/plugins/trust.py:633 msgid "Two-way trust" msgstr "" -#: ipalib/plugins/trust.py:150 +#: ipalib/plugins/trust.py:158 msgid "Established and verified" msgstr "" -#: ipalib/plugins/trust.py:151 +#: ipalib/plugins/trust.py:159 msgid "Waiting for confirmation by remote side" msgstr "" -#: ipalib/plugins/trust.py:152 +#: ipalib/plugins/trust.py:160 msgid "Unknown" msgstr "" -#: ipalib/plugins/trust.py:156 +#: ipalib/plugins/trust.py:164 msgid "Trust type (ad for Active Directory, default)" msgstr "" -#: ipalib/plugins/trust.py:309 +#: ipalib/plugins/trust.py:232 +#, python-format +msgid "" +" Alternatively, following servers are capable of running this command: " +"%(masters)s" +msgstr "" + +#: ipalib/plugins/trust.py:245 ipalib/plugins/trust.py:778 +#: ipalib/plugins/trust.py:794 ipalib/plugins/trust.py:815 +#: ipalib/plugins/trust.py:825 ipalib/plugins/trust.py:951 +#: ipalib/plugins/trust.py:985 ipalib/plugins/trust.py:1594 +msgid "AD Trust setup" +msgstr "" + +#: ipalib/plugins/trust.py:256 +msgid "" +"Cannot perform the selected command without Samba 4 support installed. Make " +"sure you have installed server-trust-ad sub-package of IPA." +msgstr "" + +#: ipalib/plugins/trust.py:266 +msgid "" +"Cannot perform the selected command without Samba 4 instance configured on " +"this machine. Make sure you have run ipa-adtrust-install on this server." +msgstr "" + +#: ipalib/plugins/trust.py:448 +msgid "" +"Fetching domains from trusted forest failed. See details in the error_log" +msgstr "" + +#: ipalib/plugins/trust.py:459 msgid "trust" msgstr "" -#: ipalib/plugins/trust.py:310 +#: ipalib/plugins/trust.py:460 msgid "trusts" msgstr "" -#: ipalib/plugins/trust.py:347 +#: ipalib/plugins/trust.py:498 msgid "Trust" msgstr "" -#: ipalib/plugins/trust.py:352 ipa-client/ipa-rmkeytab.c:176 +#: ipalib/plugins/trust.py:503 ipa-client/ipa-rmkeytab.c:176 msgid "Realm name" msgstr "" -#: ipalib/plugins/trust.py:366 +#: ipalib/plugins/trust.py:517 msgid "SID blacklist incoming" msgstr "" -#: ipalib/plugins/trust.py:371 +#: ipalib/plugins/trust.py:522 msgid "SID blacklist outgoing" msgstr "" -#: ipalib/plugins/trust.py:388 +#: ipalib/plugins/trust.py:539 #, python-format msgid "invalid SID: %(value)s" msgstr "" -#: ipalib/plugins/trust.py:410 +#: ipalib/plugins/trust.py:577 msgid "" "\n" "Add new trust to use.\n" @@ -13432,145 +13719,155 @@ msgid "" " " msgstr "" -#: ipalib/plugins/trust.py:434 +#: ipalib/plugins/trust.py:601 msgid "Active Directory domain administrator" msgstr "" -#: ipalib/plugins/trust.py:438 +#: ipalib/plugins/trust.py:605 msgid "Active Directory domain administrator's password" msgstr "" -#: ipalib/plugins/trust.py:443 +#: ipalib/plugins/trust.py:610 ipalib/plugins/trust.py:1570 msgid "Domain controller for the Active Directory domain (optional)" msgstr "" -#: ipalib/plugins/trust.py:447 +#: ipalib/plugins/trust.py:614 msgid "Shared secret for the trust" msgstr "" -#: ipalib/plugins/trust.py:452 +#: ipalib/plugins/trust.py:619 msgid "First Posix ID of the range reserved for the trusted domain" msgstr "" -#: ipalib/plugins/trust.py:456 +#: ipalib/plugins/trust.py:623 msgid "Size of the ID range reserved for the trusted domain" msgstr "" -#: ipalib/plugins/trust.py:461 +#: ipalib/plugins/trust.py:628 #, python-brace-format msgid "Type of trusted domain ID range, one of {vals}" msgstr "" -#: ipalib/plugins/trust.py:467 +#: ipalib/plugins/trust.py:635 +msgid "" +"Establish bi-directional trust. By default trust is inbound one-way only." +msgstr "" + +#: ipalib/plugins/trust.py:640 #, python-format msgid "Added Active Directory trust for realm \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:468 +#: ipalib/plugins/trust.py:641 #, python-format msgid "Re-established trust to domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:543 ipalib/plugins/trust.py:585 -#: ipalib/plugins/trust.py:605 ipalib/plugins/trust.py:615 -#: ipalib/plugins/trust.py:737 ipalib/plugins/trust.py:770 -#: ipalib/plugins/trust.py:1348 ipalib/plugins/trust.py:1360 -msgid "AD Trust setup" -msgstr "" - -#: ipalib/plugins/trust.py:545 ipalib/plugins/trust.py:1350 -msgid "" -"Cannot perform join operation without Samba 4 support installed. Make sure " -"you have installed server-trust-ad sub-package of IPA" -msgstr "" - -#: ipalib/plugins/trust.py:553 +#: ipalib/plugins/trust.py:738 msgid "missing base_id" msgstr "" -#: ipalib/plugins/trust.py:555 +#: ipalib/plugins/trust.py:740 msgid "pysss_murmur is not available on the server and no base-id is given." msgstr "" -#: ipalib/plugins/trust.py:561 ipalib/plugins/trust.py:565 +#: ipalib/plugins/trust.py:746 ipalib/plugins/trust.py:750 msgid "trust type" msgstr "" -#: ipalib/plugins/trust.py:566 +#: ipalib/plugins/trust.py:751 msgid "only \"ad\" is supported" msgstr "" -#: ipalib/plugins/trust.py:576 +#: ipalib/plugins/trust.py:757 +msgid "domain" +msgstr "" + +#: ipalib/plugins/trust.py:758 +msgid "" +"Cannot establish a trust to AD deployed in the same domain as IPA. Such " +"setup is not supported." +msgstr "" + +#: ipalib/plugins/trust.py:769 msgid "Realm-domain mismatch" msgstr "" -#: ipalib/plugins/trust.py:577 +#: ipalib/plugins/trust.py:770 msgid "" "To establish trust with Active Directory, the domain name and the realm name " "of the IPA server must match" msgstr "" -#: ipalib/plugins/trust.py:607 +#: ipalib/plugins/trust.py:796 +#, python-format +msgid "" +"Trusted domain %(domain)s is included among IPA realm domains. It needs to " +"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" +"del-domain\" command." +msgstr "" + +#: ipalib/plugins/trust.py:817 msgid "Trusted domain and administrator account use different realms" msgstr "" -#: ipalib/plugins/trust.py:616 +#: ipalib/plugins/trust.py:826 msgid "Realm administrator password should be specified" msgstr "" -#: ipalib/plugins/trust.py:637 +#: ipalib/plugins/trust.py:847 msgid "id range type" msgstr "" -#: ipalib/plugins/trust.py:639 +#: ipalib/plugins/trust.py:849 msgid "" "Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" "type when adding an AD trust." msgstr "" -#: ipalib/plugins/trust.py:649 +#: ipalib/plugins/trust.py:859 msgid "id range" msgstr "" -#: ipalib/plugins/trust.py:651 +#: ipalib/plugins/trust.py:861 msgid "" "An id range already exists for this trust. You should either delete the old " "range, or exclude --base-id/--range-size options from the command." msgstr "" -#: ipalib/plugins/trust.py:673 +#: ipalib/plugins/trust.py:883 msgid "range exists" msgstr "" -#: ipalib/plugins/trust.py:675 +#: ipalib/plugins/trust.py:885 msgid "" "ID range with the same name but different domain SID already exists. The ID " "range for the new trusted domain must be created manually." msgstr "" -#: ipalib/plugins/trust.py:682 +#: ipalib/plugins/trust.py:892 msgid "range type change" msgstr "" -#: ipalib/plugins/trust.py:683 +#: ipalib/plugins/trust.py:893 msgid "" "ID range for the trusted domain already exists, but it has a different type. " "Please remove the old range manually, or do not enforce type via --range-" "type option." msgstr "" -#: ipalib/plugins/trust.py:712 +#: ipalib/plugins/trust.py:926 #, python-format msgid "Unable to resolve domain controller for '%s' domain. " msgstr "" -#: ipalib/plugins/trust.py:718 +#: ipalib/plugins/trust.py:932 msgid "" "Forward policy is defined for it in IPA DNS, perhaps forwarder points to " "incorrect host?" msgstr "" -#: ipalib/plugins/trust.py:721 +#: ipalib/plugins/trust.py:935 #, python-format msgid "" "IPA manages DNS, please verify your DNS configuration and make sure that " @@ -13579,31 +13876,31 @@ msgid "" "documentation. " msgstr "" -#: ipalib/plugins/trust.py:731 +#: ipalib/plugins/trust.py:945 #, python-format msgid "" "Since IPA does not manage DNS records, ensure DNS is configured to resolve " "'%(domain)s' domain from IPA hosts and back." msgstr "" -#: ipalib/plugins/trust.py:738 +#: ipalib/plugins/trust.py:952 msgid "Unable to verify write permissions to the AD" msgstr "" -#: ipalib/plugins/trust.py:771 +#: ipalib/plugins/trust.py:986 msgid "Not enough arguments specified to perform trust setup" msgstr "" -#: ipalib/plugins/trust.py:776 +#: ipalib/plugins/trust.py:991 msgid "Delete a trust." msgstr "" -#: ipalib/plugins/trust.py:778 +#: ipalib/plugins/trust.py:993 #, python-format msgid "Deleted trust \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:782 +#: ipalib/plugins/trust.py:997 msgid "" "\n" " Modify a trust (for future use).\n" @@ -13613,203 +13910,209 @@ msgid "" " " msgstr "" -#: ipalib/plugins/trust.py:789 +#: ipalib/plugins/trust.py:1004 #, python-format msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" msgstr "" -#: ipalib/plugins/trust.py:801 +#: ipalib/plugins/trust.py:1016 msgid "Search for trusts." msgstr "" -#: ipalib/plugins/trust.py:806 +#: ipalib/plugins/trust.py:1021 #, python-format msgid "%(count)d trust matched" msgid_plural "%(count)d trusts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/trust.py:832 +#: ipalib/plugins/trust.py:1047 msgid "Display information about a trust." msgstr "" -#: ipalib/plugins/trust.py:867 +#: ipalib/plugins/trust.py:1082 msgid "trust configuration" msgstr "" -#: ipalib/plugins/trust.py:873 ipalib/plugins/trust.py:874 +#: ipalib/plugins/trust.py:1088 ipalib/plugins/trust.py:1089 msgid "Global Trust Configuration" msgstr "" -#: ipalib/plugins/trust.py:882 +#: ipalib/plugins/trust.py:1097 msgid "Security Identifier" msgstr "" -#: ipalib/plugins/trust.py:886 +#: ipalib/plugins/trust.py:1101 msgid "NetBIOS name" msgstr "" -#: ipalib/plugins/trust.py:890 +#: ipalib/plugins/trust.py:1105 msgid "Domain GUID" msgstr "" -#: ipalib/plugins/trust.py:895 +#: ipalib/plugins/trust.py:1110 msgid "Fallback primary group" msgstr "" -#: ipalib/plugins/trust.py:907 +#: ipalib/plugins/trust.py:1122 msgid "unsupported trust type" msgstr "" -#: ipalib/plugins/trust.py:970 +#: ipalib/plugins/trust.py:1185 msgid "Modify global trust configuration." msgstr "" -#: ipalib/plugins/trust.py:973 +#: ipalib/plugins/trust.py:1188 #, python-format msgid "Modified \"%(value)s\" trust configuration" msgstr "" -#: ipalib/plugins/trust.py:992 +#: ipalib/plugins/trust.py:1207 msgid "Show global trust configuration." msgstr "" -#: ipalib/plugins/trust.py:1019 +#: ipalib/plugins/trust.py:1234 msgid "Resolve security identifiers of users and groups in trusted domains" msgstr "" -#: ipalib/plugins/trust.py:1023 +#: ipalib/plugins/trust.py:1238 msgid "Security Identifiers (SIDs)" msgstr "" -#: ipalib/plugins/trust.py:1029 +#: ipalib/plugins/trust.py:1244 msgid "Name" msgstr "" -#: ipalib/plugins/trust.py:1030 +#: ipalib/plugins/trust.py:1245 msgid "SID" msgstr "" -#: ipalib/plugins/trust.py:1061 +#: ipalib/plugins/trust.py:1276 msgid "Determine whether ipa-adtrust-install has been run on this system" msgstr "" -#: ipalib/plugins/trust.py:1088 +#: ipalib/plugins/trust.py:1303 msgid "" "Determine whether Schema Compatibility plugin is configured to serve trusted " "domain users and groups" msgstr "" -#: ipalib/plugins/trust.py:1141 +#: ipalib/plugins/trust.py:1356 msgid "Determine whether ipa-adtrust-install has been run with sidgen task" msgstr "" -#: ipalib/plugins/trust.py:1157 +#: ipalib/plugins/trust.py:1372 msgid "sidgen_was_run" msgstr "" -#: ipalib/plugins/trust.py:1159 +#: ipalib/plugins/trust.py:1374 msgid "" "This command relies on the existence of the \"editors\" group, but this " "group was not found." msgstr "" -#: ipalib/plugins/trust.py:1178 +#: ipalib/plugins/trust.py:1393 msgid "trust domain" msgstr "" -#: ipalib/plugins/trust.py:1179 +#: ipalib/plugins/trust.py:1394 msgid "trust domains" msgstr "" -#: ipalib/plugins/trust.py:1184 +#: ipalib/plugins/trust.py:1399 msgid "Trusted domains" msgstr "" -#: ipalib/plugins/trust.py:1185 +#: ipalib/plugins/trust.py:1400 msgid "Trusted domain" msgstr "" -#: ipalib/plugins/trust.py:1189 +#: ipalib/plugins/trust.py:1404 msgid "Domain name" msgstr "" -#: ipalib/plugins/trust.py:1202 +#: ipalib/plugins/trust.py:1417 msgid "Trusted domain partner" msgstr "" -#: ipalib/plugins/trust.py:1222 +#: ipalib/plugins/trust.py:1437 msgid "Search domains of the trust" msgstr "" -#: ipalib/plugins/trust.py:1225 +#: ipalib/plugins/trust.py:1440 msgid "Domain enabled" msgstr "" -#: ipalib/plugins/trust.py:1252 +#: ipalib/plugins/trust.py:1467 msgid "Modify trustdomain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1259 +#: ipalib/plugins/trust.py:1474 msgid "Allow access from the trusted domain" msgstr "" -#: ipalib/plugins/trust.py:1270 +#: ipalib/plugins/trust.py:1485 msgid "Remove infromation about the domain associated with the trust." msgstr "" -#: ipalib/plugins/trust.py:1272 +#: ipalib/plugins/trust.py:1487 #, python-format msgid "Removed information about the trusted domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1281 +#: ipalib/plugins/trust.py:1502 msgid "" "cannot delete root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -#: ipalib/plugins/trust.py:1341 +#: ipalib/plugins/trust.py:1564 msgid "Refresh list of the domains associated with the trust" msgstr "" -#: ipalib/plugins/trust.py:1371 +#: ipalib/plugins/trust.py:1588 +msgid "" +"List of trust domains successfully refreshed. Use trustdomain-find command " +"to list them." +msgstr "" + +#: ipalib/plugins/trust.py:1605 msgid "List of trust domains successfully refreshed" msgstr "" -#: ipalib/plugins/trust.py:1373 +#: ipalib/plugins/trust.py:1607 msgid "No new trust domains were found" msgstr "" -#: ipalib/plugins/trust.py:1383 +#: ipalib/plugins/trust.py:1616 msgid "Allow use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1386 +#: ipalib/plugins/trust.py:1619 #, python-format msgid "Enabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1393 +#: ipalib/plugins/trust.py:1627 msgid "Root domain of the trust is always enabled for the existing trust" msgstr "" -#: ipalib/plugins/trust.py:1423 +#: ipalib/plugins/trust.py:1657 msgid "Disable use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1426 +#: ipalib/plugins/trust.py:1660 #, python-format msgid "Disabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1433 +#: ipalib/plugins/trust.py:1668 msgid "" "cannot disable root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -#: ipalib/plugins/user.py:49 +#: ipalib/plugins/user.py:57 msgid "" "\n" "Users\n" @@ -13855,115 +14158,124 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:333 +#: ipalib/plugins/user.py:349 msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:337 +#: ipalib/plugins/user.py:353 msgid "Preserved user" msgstr "" -#: ipalib/plugins/user.py:389 +#: ipalib/plugins/user.py:405 msgid "Add a new user." msgstr "" -#: ipalib/plugins/user.py:391 +#: ipalib/plugins/user.py:407 #, python-format msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:398 +#: ipalib/plugins/user.py:414 msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/user.py:474 +#: ipalib/plugins/user.py:490 msgid "Default group for new users is not POSIX" msgstr "" -#: ipalib/plugins/user.py:563 +#: ipalib/plugins/user.py:580 msgid "Delete a user." msgstr "" -#: ipalib/plugins/user.py:565 +#: ipalib/plugins/user.py:582 #, python-format msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:573 +#: ipalib/plugins/user.py:590 msgid "Delete a user, keeping the entry available for future use" msgstr "" -#: ipalib/plugins/user.py:577 +#: ipalib/plugins/user.py:594 msgid "Delete a user" msgstr "" -#: ipalib/plugins/user.py:585 +#: ipalib/plugins/user.py:608 +#, python-format +msgid "%s: user is already preserved" +msgstr "" + +#: ipalib/plugins/user.py:660 msgid "preserve and no-preserve cannot be both set" msgstr "" -#: ipalib/plugins/user.py:686 +#: ipalib/plugins/user.py:729 msgid "Modify a user." msgstr "" -#: ipalib/plugins/user.py:688 +#: ipalib/plugins/user.py:731 #, python-format msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:705 +#: ipalib/plugins/user.py:749 msgid "Search for users." msgstr "" -#: ipalib/plugins/user.py:716 +#: ipalib/plugins/user.py:760 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:717 +#: ipalib/plugins/user.py:761 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:764 +#: ipalib/plugins/user.py:804 msgid "Display information about a user." msgstr "" -#: ipalib/plugins/user.py:776 +#: ipalib/plugins/user.py:844 msgid "Undelete a delete user account." msgstr "" -#: ipalib/plugins/user.py:779 +#: ipalib/plugins/user.py:847 #, python-format msgid "Undeleted user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:789 +#: ipalib/plugins/user.py:861 #, python-format -msgid "User %r is already active" +msgid "user \"%s\" is already active" +msgstr "" + +#: ipalib/plugins/user.py:889 +msgid "Move deleted user into staged area" msgstr "" -#: ipalib/plugins/user.py:795 +#: ipalib/plugins/user.py:892 #, python-format -msgid "User %r not found" +msgid "Staged user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:822 +#: ipalib/plugins/user.py:939 msgid "Disable a user account." msgstr "" -#: ipalib/plugins/user.py:825 +#: ipalib/plugins/user.py:942 #, python-format msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:843 +#: ipalib/plugins/user.py:960 msgid "Enable a user account." msgstr "" -#: ipalib/plugins/user.py:847 +#: ipalib/plugins/user.py:964 #, python-format msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:864 +#: ipalib/plugins/user.py:981 msgid "" "\n" " Unlock a user account\n" @@ -13975,12 +14287,12 @@ msgid "" " an administrator." msgstr "" -#: ipalib/plugins/user.py:873 +#: ipalib/plugins/user.py:990 #, python-format msgid "Unlocked account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:893 +#: ipalib/plugins/user.py:1010 msgid "" "\n" " Lockout status of a user account\n" @@ -14009,539 +14321,896 @@ msgid "" " means that the user may attempt a login again. " msgstr "" -#: ipalib/plugins/user.py:951 +#: ipalib/plugins/user.py:1066 #, python-format msgid "%(host)s failed: %(error)s" msgstr "" -#: ipalib/plugins/user.py:988 +#: ipalib/plugins/user.py:1103 #, python-format msgid "%(host)s failed" msgstr "" -#: ipalib/plugins/user.py:998 +#: ipalib/plugins/user.py:1113 #, python-format msgid "Account disabled: %(disabled)s" msgstr "" -#: ipalib/plugins/vault.py:48 +#: ipalib/plugins/user.py:1120 +msgid "Add one or more certificates to the user entry" +msgstr "" + +#: ipalib/plugins/user.py:1121 +#, python-format +msgid "Added certificates to user \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:1142 +msgid "Remove one or more certificates to the user entry" +msgstr "" + +#: ipalib/plugins/user.py:1143 +#, python-format +msgid "Removed certificates from user \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:1164 +msgid "Add a manager to the user entry" +msgstr "" + +#: ipalib/plugins/user.py:1169 +msgid "Remove a manager to the user entry" +msgstr "" + +#: ipalib/plugins/vault.py:61 msgid "" "\n" "Vaults\n" msgstr "" -#: ipalib/plugins/vault.py:50 +#: ipalib/plugins/vault.py:63 msgid "" "\n" "Manage vaults.\n" msgstr "" -#: ipalib/plugins/vault.py:54 +#: ipalib/plugins/vault.py:65 msgid "" "\n" -" List private vaults:\n" -" ipa vault-find\n" +"Vault is a secure place to store a secret.\n" msgstr "" -#: ipalib/plugins/vault.py:57 +#: ipalib/plugins/vault.py:67 msgid "" "\n" -" List service vaults:\n" -" ipa vault-find --service <service name>\n" +"Based on the ownership there are three vault categories:\n" +"* user/private vault\n" +"* service vault\n" +"* shared vault\n" msgstr "" -#: ipalib/plugins/vault.py:60 +#: ipalib/plugins/vault.py:72 msgid "" "\n" -" List shared vaults:\n" -" ipa vault-find --shared\n" +"User vaults are vaults owned used by a particular user. Private\n" +"vaults are vaults owned the current user. Service vaults are\n" +"vaults owned by a service. Shared vaults are owned by the admin\n" +"but they can be used by other users or services.\n" msgstr "" -#: ipalib/plugins/vault.py:63 +#: ipalib/plugins/vault.py:77 msgid "" "\n" -" List user vaults:\n" -" ipa vault-find --user <username>\n" +"Based on the security mechanism there are three types of\n" +"vaults:\n" +"* standard vault\n" +"* symmetric vault\n" +"* asymmetric vault\n" msgstr "" -#: ipalib/plugins/vault.py:66 +#: ipalib/plugins/vault.py:83 msgid "" "\n" -" Add a private vault:\n" -" ipa vault-add <name>\n" +"Standard vault uses a secure mechanism to transport and\n" +"store the secret. The secret can only be retrieved by users\n" +"that have access to the vault.\n" msgstr "" -#: ipalib/plugins/vault.py:69 +#: ipalib/plugins/vault.py:87 msgid "" "\n" -" Add a service vault:\n" -" ipa vault-add <name> --service <service name>\n" +"Symmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a password before transport.\n" +"The secret can only be retrieved using the same password.\n" msgstr "" -#: ipalib/plugins/vault.py:72 +#: ipalib/plugins/vault.py:91 msgid "" "\n" -" Add a shared vault:\n" -" ipa vault-add <ame> --shared\n" +"Asymmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a public key before transport.\n" +"The secret can only be retrieved using the private key.\n" msgstr "" -#: ipalib/plugins/vault.py:75 +#: ipalib/plugins/vault.py:97 msgid "" "\n" -" Add a user vault:\n" -" ipa vault-add <name> --user <username>\n" +" List vaults:\n" +" ipa vault-find\n" +" [--user <user>|--service <service>|--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:78 +#: ipalib/plugins/vault.py:101 msgid "" "\n" -" Show a private vault:\n" -" ipa vault-show <name>\n" +" Add a standard vault:\n" +" ipa vault-add <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --type standard\n" msgstr "" -#: ipalib/plugins/vault.py:81 +#: ipalib/plugins/vault.py:106 msgid "" "\n" -" Show a service vault:\n" -" ipa vault-show <name> --service <service name>\n" +" Add a symmetric vault:\n" +" ipa vault-add <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --type symmetric --password-file password.txt\n" msgstr "" -#: ipalib/plugins/vault.py:84 +#: ipalib/plugins/vault.py:111 msgid "" "\n" -" Show a shared vault:\n" -" ipa vault-show <name> --shared\n" +" Add an asymmetric vault:\n" +" ipa vault-add <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --type asymmetric --public-key-file public.pem\n" msgstr "" -#: ipalib/plugins/vault.py:87 +#: ipalib/plugins/vault.py:116 msgid "" "\n" -" Show a user vault:\n" -" ipa vault-show <name> --user <username>\n" +" Show a vault:\n" +" ipa vault-show <name>\n" +" [--user <user>|--service <service>|--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:90 +#: ipalib/plugins/vault.py:120 msgid "" "\n" -" Modify a private vault:\n" -" ipa vault-mod <name> --desc <description>\n" +" Modify vault description:\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --desc <description>\n" msgstr "" -#: ipalib/plugins/vault.py:93 +#: ipalib/plugins/vault.py:125 msgid "" "\n" -" Modify a service vault:\n" -" ipa vault-mod <name> --service <service name> --desc <description>\n" +" Modify vault type:\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --type <type>\n" +" [old password/private key]\n" +" [new password/public key]\n" msgstr "" -#: ipalib/plugins/vault.py:96 +#: ipalib/plugins/vault.py:132 msgid "" "\n" -" Modify a shared vault:\n" -" ipa vault-mod <name> --shared --desc <description>\n" +" Modify symmetric vault password:\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --change-password\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --old-password <old password>\n" +" --new-password <new password>\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --old-password-file <old password file>\n" +" --new-password-file <new password file>\n" msgstr "" -#: ipalib/plugins/vault.py:99 +#: ipalib/plugins/vault.py:145 msgid "" "\n" -" Modify a user vault:\n" -" ipa vault-mod <name> --user <username> --desc <description>\n" +" Modify asymmetric vault keys:\n" +" ipa vault-mod <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --private-key-file <old private key file>\n" +" --public-key-file <new public key file>\n" msgstr "" -#: ipalib/plugins/vault.py:102 +#: ipalib/plugins/vault.py:151 msgid "" "\n" -" Delete a private vault:\n" +" Delete a vault:\n" " ipa vault-del <name>\n" +" [--user <user>|--service <service>|--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:105 +#: ipalib/plugins/vault.py:155 msgid "" "\n" -" Delete a service vault:\n" -" ipa vault-del <name> --service <service name>\n" +" Display vault configuration:\n" +" ipa vaultconfig-show\n" msgstr "" -#: ipalib/plugins/vault.py:108 +#: ipalib/plugins/vault.py:158 msgid "" "\n" -" Delete a shared vault:\n" -" ipa vault-del <name> --shared\n" +" Archive data into standard vault:\n" +" ipa vault-archive <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --in <input file>\n" msgstr "" -#: ipalib/plugins/vault.py:111 +#: ipalib/plugins/vault.py:163 msgid "" "\n" -" Delete a user vault:\n" -" ipa vault-del <name> --user <username>\n" +" Archive data into symmetric vault:\n" +" ipa vault-archive <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --in <input file>\n" +" --password-file password.txt\n" msgstr "" -#: ipalib/plugins/vault.py:114 +#: ipalib/plugins/vault.py:169 msgid "" "\n" -" Display vault configuration:\n" -" ipa vault-config\n" +" Archive data into asymmetric vault:\n" +" ipa vault-archive <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --in <input file>\n" msgstr "" -#: ipalib/plugins/vault.py:117 +#: ipalib/plugins/vault.py:174 msgid "" "\n" -" Archive data into private vault:\n" -" ipa vault-archive <name> --in <input file>\n" +" Retrieve data from standard vault:\n" +" ipa vault-retrieve <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --out <output file>\n" msgstr "" -#: ipalib/plugins/vault.py:120 +#: ipalib/plugins/vault.py:179 msgid "" "\n" -" Archive data into service vault:\n" -" ipa vault-archive <name> --service <service name> --in <input file>\n" +" Retrieve data from symmetric vault:\n" +" ipa vault-retrieve <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --out <output file>\n" +" --password-file password.txt\n" msgstr "" -#: ipalib/plugins/vault.py:123 +#: ipalib/plugins/vault.py:185 msgid "" "\n" -" Archive data into shared vault:\n" -" ipa vault-archive <name> --shared --in <input file>\n" +" Retrieve data from asymmetric vault:\n" +" ipa vault-retrieve <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" --out <output file> --private-key-file private.pem\n" msgstr "" -#: ipalib/plugins/vault.py:126 +#: ipalib/plugins/vault.py:190 msgid "" "\n" -" Archive data into user vault:\n" -" ipa vault-archive <name> --user <username> --in <input file>\n" +" Add vault owners:\n" +" ipa vault-add-owner <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" [--users <users>] [--groups <groups>] [--services <services>]\n" msgstr "" -#: ipalib/plugins/vault.py:129 +#: ipalib/plugins/vault.py:195 msgid "" "\n" -" Retrieve data from private vault:\n" -" ipa vault-retrieve <name> --out <output file>\n" +" Delete vault owners:\n" +" ipa vault-remove-owner <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" [--users <users>] [--groups <groups>] [--services <services>]\n" msgstr "" -#: ipalib/plugins/vault.py:132 +#: ipalib/plugins/vault.py:200 msgid "" "\n" -" Retrieve data from service vault:\n" -" ipa vault-retrieve <name> --service <service name> --out <output file>\n" +" Add vault members:\n" +" ipa vault-add-member <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" [--users <users>] [--groups <groups>] [--services <services>]\n" msgstr "" -#: ipalib/plugins/vault.py:135 +#: ipalib/plugins/vault.py:205 msgid "" "\n" -" Retrieve data from shared vault:\n" -" ipa vault-retrieve <name> --shared --out <output file>\n" +" Delete vault members:\n" +" ipa vault-remove-member <name>\n" +" [--user <user>|--service <service>|--shared]\n" +" [--users <users>] [--groups <groups>] [--services <services>]\n" +msgstr "" + +#: ipalib/plugins/vault.py:225 ipalib/plugins/vault.py:1551 +#, python-format +msgid "Cannot read file '%(filename)s': %(exc)s" +msgstr "" + +#: ipalib/plugins/vault.py:232 +#, python-format +msgid "Cannot decode file '%(filename)s': %(exc)s" msgstr "" -#: ipalib/plugins/vault.py:138 +#: ipalib/plugins/vault.py:246 +msgid "Service name of the service vault" +msgstr "" + +#: ipalib/plugins/vault.py:251 ipalib/plugins/vault.py:368 +#: ipalib/plugins/vault.py:681 +msgid "Shared vault" +msgstr "" + +#: ipalib/plugins/vault.py:256 +msgid "Username of the user vault" +msgstr "" + +#: ipalib/plugins/vault.py:284 msgid "" "\n" -" Retrieve data from user vault:\n" -" ipa vault-retrieve <name> --user <user name> --out <output file>\n" +" Vault Container object.\n" +" " msgstr "" -#: ipalib/plugins/vault.py:153 -msgid "Shared vault" +#: ipalib/plugins/vault.py:290 +msgid "vaultcontainer" +msgstr "" + +#: ipalib/plugins/vault.py:291 +msgid "vaultcontainers" +msgstr "" + +#: ipalib/plugins/vault.py:299 +msgid "Vault Containers" +msgstr "" + +#: ipalib/plugins/vault.py:300 +msgid "Vault Container" +msgstr "" + +#: ipalib/plugins/vault.py:347 ipalib/plugins/vault.py:656 +msgid "Owner users" +msgstr "" + +#: ipalib/plugins/vault.py:351 ipalib/plugins/vault.py:661 +msgid "Owner groups" +msgstr "" + +#: ipalib/plugins/vault.py:355 ipalib/plugins/vault.py:666 +msgid "Owner services" +msgstr "" + +#: ipalib/plugins/vault.py:359 ipalib/plugins/vault.py:671 +msgid "Failed owners" +msgstr "" + +#: ipalib/plugins/vault.py:363 ipalib/plugins/vault.py:676 +msgid "Vault service" +msgstr "" + +#: ipalib/plugins/vault.py:373 ipalib/plugins/vault.py:686 +msgid "Vault user" +msgstr "" + +#: ipalib/plugins/vault.py:389 +msgid "Service, shared and user options cannot be specified simultaneously" +msgstr "" + +#: ipalib/plugins/vault.py:399 ipalib/plugins/vault.py:717 +msgid "Host is not supported" +msgstr "" + +#: ipalib/plugins/vault.py:432 +msgid "Display information about a vault container." +msgstr "" + +#: ipalib/plugins/vault.py:443 ipalib/plugins/vault.py:467 +#: ipalib/plugins/vault.py:1072 ipalib/plugins/vault.py:1111 +#: ipalib/plugins/vault.py:1168 ipalib/plugins/vault.py:1395 +#: ipalib/plugins/vault.py:1417 ipalib/plugins/vault.py:1469 +#: ipalib/plugins/vault.py:1721 ipalib/plugins/vault.py:1989 +msgid "KRA service is not enabled" +msgstr "" + +#: ipalib/plugins/vault.py:454 +msgid "Delete a vault container." +msgstr "" + +#: ipalib/plugins/vault.py:458 +msgid "Deleted vault container" +msgstr "" + +#: ipalib/plugins/vault.py:478 +msgid "Add owners to a vault container." +msgstr "" + +#: ipalib/plugins/vault.py:483 ipalib/plugins/vault.py:508 +#: ipalib/plugins/vault.py:2041 ipalib/plugins/vault.py:2066 +#, python-format +msgid "owner %s" +msgstr "" + +#: ipalib/plugins/vault.py:491 ipalib/plugins/vault.py:2049 +msgid "Owners that could not be added" +msgstr "" + +#: ipalib/plugins/vault.py:496 ipalib/plugins/vault.py:2054 +msgid "Number of owners added" +msgstr "" + +#: ipalib/plugins/vault.py:503 +msgid "Remove owners from a vault container." +msgstr "" + +#: ipalib/plugins/vault.py:516 ipalib/plugins/vault.py:2074 +msgid "Owners that could not be removed" +msgstr "" + +#: ipalib/plugins/vault.py:521 ipalib/plugins/vault.py:2079 +msgid "Number of owners removed" msgstr "" -#: ipalib/plugins/vault.py:164 +#: ipalib/plugins/vault.py:528 msgid "" "\n" " Vault object.\n" " " msgstr "" -#: ipalib/plugins/vault.py:170 +#: ipalib/plugins/vault.py:534 msgid "vault" msgstr "" -#: ipalib/plugins/vault.py:171 +#: ipalib/plugins/vault.py:535 msgid "vaults" msgstr "" -#: ipalib/plugins/vault.py:179 +#: ipalib/plugins/vault.py:558 msgid "Vaults" msgstr "" -#: ipalib/plugins/vault.py:180 +#: ipalib/plugins/vault.py:559 msgid "Vault" msgstr "" -#: ipalib/plugins/vault.py:186 +#: ipalib/plugins/vault.py:619 msgid "Vault name" msgstr "" -#: ipalib/plugins/vault.py:196 +#: ipalib/plugins/vault.py:629 ipalib/plugins/vault.py:902 +#: ipalib/plugins/vault.py:1215 msgid "Vault description" msgstr "" -#: ipalib/plugins/vault.py:221 -msgid "Service, shared, and user options cannot be specified simultaneously" +#: ipalib/plugins/vault.py:635 ipalib/plugins/vault.py:908 +#: ipalib/plugins/vault.py:1220 +msgid "Vault type" msgstr "" -#: ipalib/plugins/vault.py:236 -msgid "Host is not supported" +#: ipalib/plugins/vault.py:643 +msgid "Salt" +msgstr "" + +#: ipalib/plugins/vault.py:644 ipalib/plugins/vault.py:1225 +msgid "Vault salt" +msgstr "" + +#: ipalib/plugins/vault.py:650 +msgid "Public key" +msgstr "" + +#: ipalib/plugins/vault.py:651 ipalib/plugins/vault.py:926 +msgid "Vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:702 +msgid "Service, shared, and user options cannot be specified simultaneously" msgstr "" -#: ipalib/plugins/vault.py:313 +#: ipalib/plugins/vault.py:896 msgid "Create a new vault." msgstr "" -#: ipalib/plugins/vault.py:317 +#: ipalib/plugins/vault.py:916 ipalib/plugins/vault.py:1497 +#: ipalib/plugins/vault.py:1782 +msgid "Vault password" +msgstr "" + +#: ipalib/plugins/vault.py:921 ipalib/plugins/vault.py:1502 +#: ipalib/plugins/vault.py:1787 +msgid "File containing the vault password" +msgstr "" + +#: ipalib/plugins/vault.py:931 +msgid "File containing the vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:955 +msgid "Password can be specified only for symmetric vault" +msgstr "" + +#: ipalib/plugins/vault.py:961 +msgid "Public key can be specified only for asymmetric vault" +msgstr "" + +#: ipalib/plugins/vault.py:981 ipalib/plugins/vault.py:1584 +#: ipalib/plugins/vault.py:1907 +msgid "Password specified multiple times" +msgstr "" + +#: ipalib/plugins/vault.py:1003 +msgid "Public key specified multiple times" +msgstr "" + +#: ipalib/plugins/vault.py:1019 +msgid "Missing vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:1031 #, python-format -msgid "Added vault \"%(value)s\"" +msgid "Invalid or unsupported vault public key: %s" msgstr "" -#: ipalib/plugins/vault.py:325 ipalib/plugins/vault.py:349 -#: ipalib/plugins/vault.py:395 ipalib/plugins/vault.py:427 -#: ipalib/plugins/vault.py:443 ipalib/plugins/vault.py:491 -#: ipalib/plugins/vault.py:629 ipalib/plugins/vault.py:779 -msgid "KRA service is not enabled" +#: ipalib/plugins/vault.py:1064 +#, python-format +msgid "Added vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:338 +#: ipalib/plugins/vault.py:1100 msgid "Delete a vault." msgstr "" -#: ipalib/plugins/vault.py:342 +#: ipalib/plugins/vault.py:1104 #, python-format msgid "Deleted vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:379 +#: ipalib/plugins/vault.py:1141 msgid "Search for vaults." msgstr "" -#: ipalib/plugins/vault.py:384 +#: ipalib/plugins/vault.py:1146 +msgid "List all service vaults" +msgstr "" + +#: ipalib/plugins/vault.py:1150 +msgid "List all user vaults" +msgstr "" + +#: ipalib/plugins/vault.py:1157 #, python-format msgid "%(count)d vault matched" msgid_plural "%(count)d vaults matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/vault.py:414 +#: ipalib/plugins/vault.py:1175 +msgid "" +"Service(s), shared, and user(s) options cannot be specified simultaneously" +msgstr "" + +#: ipalib/plugins/vault.py:1209 msgid "Modify a vault." msgstr "" -#: ipalib/plugins/vault.py:418 +#: ipalib/plugins/vault.py:1229 +msgid "Change password" +msgstr "" + +#: ipalib/plugins/vault.py:1234 +msgid "Old vault password" +msgstr "" + +#: ipalib/plugins/vault.py:1239 +msgid "File containing the old vault password" +msgstr "" + +#: ipalib/plugins/vault.py:1244 +msgid "New vault password" +msgstr "" + +#: ipalib/plugins/vault.py:1249 +msgid "File containing the new vault password" +msgstr "" + +#: ipalib/plugins/vault.py:1254 +msgid "Old vault private key" +msgstr "" + +#: ipalib/plugins/vault.py:1259 +msgid "File containing the old vault private key" +msgstr "" + +#: ipalib/plugins/vault.py:1264 +msgid "New vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:1269 +msgid "File containing the new vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:1344 +msgid "New public key specified multiple times" +msgstr "" + +#: ipalib/plugins/vault.py:1357 +msgid "Missing new vault public key" +msgstr "" + +#: ipalib/plugins/vault.py:1386 #, python-format msgid "Modified vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:434 +#: ipalib/plugins/vault.py:1406 msgid "Display information about a vault." msgstr "" -#: ipalib/plugins/vault.py:450 +#: ipalib/plugins/vault.py:1428 msgid "Vault configuration" msgstr "" -#: ipalib/plugins/vault.py:455 +#: ipalib/plugins/vault.py:1433 msgid "Transport Certificate" msgstr "" -#: ipalib/plugins/vault.py:462 +#: ipalib/plugins/vault.py:1440 msgid "Show vault configuration." msgstr "" -#: ipalib/plugins/vault.py:467 +#: ipalib/plugins/vault.py:1445 msgid "Output file to store the transport certificate" msgstr "" -#: ipalib/plugins/vault.py:505 +#: ipalib/plugins/vault.py:1483 msgid "Archive data into a vault." msgstr "" -#: ipalib/plugins/vault.py:510 +#: ipalib/plugins/vault.py:1488 msgid "Binary data to archive" msgstr "" -#: ipalib/plugins/vault.py:514 +#: ipalib/plugins/vault.py:1492 msgid "File containing data to archive" msgstr "" -#: ipalib/plugins/vault.py:520 -#, python-format -msgid "Archived data into vault \"%(value)s\"" +#: ipalib/plugins/vault.py:1506 +msgid "Override existing password" msgstr "" -#: ipalib/plugins/vault.py:536 +#: ipalib/plugins/vault.py:1537 msgid "Input data specified multiple times" msgstr "" -#: ipalib/plugins/vault.py:613 ipalib/plugins/vault.py:771 +#: ipalib/plugins/vault.py:1542 ipalib/plugins/vault.py:1555 +#, python-format +msgid "" +"Size of data exceeds the limit. Current vault data size limit is %(limit)d B" +msgstr "" + +#: ipalib/plugins/vault.py:1638 ipalib/plugins/vault.py:1957 +msgid "Invalid vault type" +msgstr "" + +#: ipalib/plugins/vault.py:1701 ipalib/plugins/vault.py:1977 msgid "Session key wrapped with transport certificate" msgstr "" -#: ipalib/plugins/vault.py:617 +#: ipalib/plugins/vault.py:1705 msgid "Vault data encrypted with session key" msgstr "" -#: ipalib/plugins/vault.py:621 +#: ipalib/plugins/vault.py:1709 msgid "Nonce" msgstr "" -#: ipalib/plugins/vault.py:674 +#: ipalib/plugins/vault.py:1715 +#, python-format +msgid "Archived data into vault \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/vault.py:1772 msgid "Retrieve a data from a vault." msgstr "" -#: ipalib/plugins/vault.py:679 +#: ipalib/plugins/vault.py:1777 msgid "File to store retrieved data" msgstr "" -#: ipalib/plugins/vault.py:691 +#: ipalib/plugins/vault.py:1792 +msgid "Vault private key" +msgstr "" + +#: ipalib/plugins/vault.py:1797 +msgid "File containing the vault private key" +msgstr "" + +#: ipalib/plugins/vault.py:1932 +msgid "Private key specified multiple times" +msgstr "" + +#: ipalib/plugins/vault.py:1945 +msgid "Missing vault private key" +msgstr "" + +#: ipalib/plugins/vault.py:1983 #, python-format msgid "Retrieved data from vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:801 +#: ipalib/plugins/vault.py:2010 msgid "No archived data." msgstr "" +#: ipalib/plugins/vault.py:2036 +msgid "Add owners to a vault." +msgstr "" + +#: ipalib/plugins/vault.py:2061 +msgid "Remove owners from a vault." +msgstr "" + +#: ipalib/plugins/vault.py:2086 +msgid "Add members to a vault." +msgstr "" + +#: ipalib/plugins/vault.py:2093 +msgid "Remove members from a vault." +msgstr "" + #: ipalib/plugins/virtual.py:52 msgid "operation not defined" msgstr "" #: ipalib/plugins/virtual.py:65 -msgid "not allowed to perform this command" +#, python-format +msgid "not allowed to perform operation: %s" msgstr "" #: ipalib/plugins/virtual.py:67 msgid "No such virtual command" msgstr "" -#: ipalib/rpc.py:849 +#: ipalib/rpc.py:938 msgid "any of the configured servers" msgstr "" -#: ipalib/session.py:777 ipalib/session.py:880 +#: ipalib/session.py:778 ipalib/session.py:881 msgid "could not allocate unique new session_id" msgstr "" -#: ipalib/util.py:205 +#: ipalib/util.py:174 msgid "Filename is empty" msgstr "" -#: ipalib/util.py:209 +#: ipalib/util.py:178 #, python-format msgid "Permission denied: %(file)s" msgstr "" -#: ipalib/util.py:251 ipalib/util.py:757 +#: ipalib/util.py:220 ipalib/util.py:728 msgid "empty DNS label" msgstr "" -#: ipalib/util.py:254 +#: ipalib/util.py:223 msgid "DNS label cannot be longer that 63 characters" msgstr "" -#: ipalib/util.py:259 +#: ipalib/util.py:228 #, python-format msgid "" "only letters, numbers, %(chars)s are allowed. DNS label may not start or end " "with %(chars2)s" msgstr "" -#: ipalib/util.py:277 +#: ipalib/util.py:247 msgid "too many '@' characters" msgstr "" -#: ipalib/util.py:293 +#: ipalib/util.py:263 msgid "cannot be longer that 255 characters" msgstr "" -#: ipalib/util.py:299 +#: ipalib/util.py:269 msgid "hostname contains empty label (consecutive dots)" msgstr "" -#: ipalib/util.py:303 +#: ipalib/util.py:273 msgid "not fully qualified" msgstr "" -#: ipalib/util.py:315 ipalib/util.py:321 +#: ipalib/util.py:285 ipalib/util.py:291 msgid "invalid SSH public key" msgstr "" -#: ipalib/util.py:324 +#: ipalib/util.py:294 msgid "options are not allowed" msgstr "" -#: ipalib/util.py:560 +#: ipalib/util.py:530 msgid "invalid hostmask" msgstr "" -#: ipalib/util.py:572 +#: ipalib/util.py:542 #, python-format msgid "query '%(owner)s %(rtype)s': %(error)s" msgstr "" -#: ipalib/util.py:576 +#: ipalib/util.py:546 #, python-format msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" msgstr "" -#: ipalib/util.py:580 +#: ipalib/util.py:550 #, python-format msgid "" "answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " "data)" msgstr "" -#: ipalib/util.py:585 +#: ipalib/util.py:555 #, python-format msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" msgstr "" -#: ipalib/util.py:755 +#: ipalib/util.py:726 msgid "invalid escape code in domain name" msgstr "" -#: ipalib/util.py:759 +#: ipalib/util.py:730 msgid "domain name cannot be longer than 255 characters" msgstr "" -#: ipalib/util.py:761 +#: ipalib/util.py:732 msgid "DNS label cannot be longer than 63 characters" msgstr "" -#: ipalib/util.py:763 +#: ipalib/util.py:734 msgid "invalid domain name" msgstr "" -#: ipalib/util.py:775 +#: ipalib/util.py:747 #, python-format msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" msgstr "" -#: ipalib/x509.py:302 +#: ipalib/x509.py:320 msgid "improperly formatted DER-encoded certificate" msgstr "" -#: ipalib/x509.py:357 +#: ipalib/x509.py:374 #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" msgstr "" -#: ipapython/dogtag.py:194 +#: ipapython/dogtag.py:85 #, python-format msgid "Retrieving CA cert chain failed: %s" msgstr "" -#: ipapython/dogtag.py:200 +#: ipapython/dogtag.py:91 #, python-format msgid "request failed with HTTP status %d" msgstr "" -#: ipapython/dogtag.py:212 ipapython/dogtag.py:237 +#: ipapython/dogtag.py:103 ipapython/dogtag.py:128 #, python-format msgid "Retrieving CA status failed: %s" msgstr "" -#: ipapython/ipaldap.py:1010 +#: ipapython/ipaldap.py:1018 #, python-format msgid "objectclass %s not found" msgstr "" -#: ipaserver/dcerpc.py:63 +#: ipaserver/dcerpc.py:68 msgid "" "\n" "Classes to manage trust joins using DCE-RPC calls\n" @@ -14550,203 +15219,208 @@ msgid "" "and Samba4 python bindings.\n" msgstr "" -#: ipaserver/dcerpc.py:80 +#: ipaserver/dcerpc.py:89 msgid "CIFS server denied your credentials" msgstr "" -#: ipaserver/dcerpc.py:83 +#: ipaserver/dcerpc.py:92 msgid "communication with CIFS server was unsuccessful" msgstr "" -#: ipaserver/dcerpc.py:88 +#: ipaserver/dcerpc.py:97 msgid "AD domain controller" msgstr "" -#: ipaserver/dcerpc.py:88 +#: ipaserver/dcerpc.py:97 msgid "unsupported functional level" msgstr "" -#: ipaserver/dcerpc.py:91 +#: ipaserver/dcerpc.py:100 msgid "" "AD domain controller complains about communication sequence. It may mean " "unsynchronized time on both sides, for example" msgstr "" -#: ipaserver/dcerpc.py:95 +#: ipaserver/dcerpc.py:104 msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" msgstr "" -#: ipaserver/dcerpc.py:100 +#: ipaserver/dcerpc.py:109 msgid "Cannot find specified domain or server name" msgstr "" -#: ipaserver/dcerpc.py:102 +#: ipaserver/dcerpc.py:111 msgid "" "AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " "or firewall issue" msgstr "" -#: ipaserver/dcerpc.py:104 +#: ipaserver/dcerpc.py:113 msgid "At least the domain or IP address should be specified" msgstr "" -#: ipaserver/dcerpc.py:116 +#: ipaserver/dcerpc.py:133 #, python-format msgid "" "CIFS server communication error: code \"%(num)s\",\n" " message \"%(message)s\" (both may be \"None\")" msgstr "" -#: ipaserver/dcerpc.py:216 +#: ipaserver/dcerpc.py:242 msgid "no trusted domain is configured" msgstr "" -#: ipaserver/dcerpc.py:223 +#: ipaserver/dcerpc.py:249 msgid "domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:230 +#: ipaserver/dcerpc.py:256 msgid "SID is not valid" msgstr "" -#: ipaserver/dcerpc.py:245 +#: ipaserver/dcerpc.py:271 msgid "SID does not match exactlywith any trusted domain's SID" msgstr "" -#: ipaserver/dcerpc.py:256 +#: ipaserver/dcerpc.py:282 msgid "SID does not match any trusted domain" msgstr "" -#: ipaserver/dcerpc.py:296 ipaserver/dcerpc.py:302 ipaserver/dcerpc.py:571 +#: ipaserver/dcerpc.py:322 ipaserver/dcerpc.py:328 ipaserver/dcerpc.py:671 msgid "Trust setup" msgstr "" -#: ipaserver/dcerpc.py:297 +#: ipaserver/dcerpc.py:323 msgid "Our domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:303 +#: ipaserver/dcerpc.py:329 msgid "No trusted domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:308 ipaserver/dcerpc.py:323 ipaserver/dcerpc.py:340 -#: ipaserver/dcerpc.py:352 ipaserver/dcerpc.py:359 ipaserver/dcerpc.py:399 -#: ipaserver/dcerpc.py:451 +#: ipaserver/dcerpc.py:334 ipaserver/dcerpc.py:349 ipaserver/dcerpc.py:364 +#: ipaserver/dcerpc.py:371 ipaserver/dcerpc.py:383 ipaserver/dcerpc.py:390 +#: ipaserver/dcerpc.py:451 ipaserver/dcerpc.py:503 msgid "trusted domain object" msgstr "" -#: ipaserver/dcerpc.py:309 +#: ipaserver/dcerpc.py:335 msgid "domain is not trusted" msgstr "" -#: ipaserver/dcerpc.py:324 +#: ipaserver/dcerpc.py:350 msgid "no trusted domain matched the specified flat name" msgstr "" -#: ipaserver/dcerpc.py:326 +#: ipaserver/dcerpc.py:352 msgid "trusted domain object not found" msgstr "" -#: ipaserver/dcerpc.py:341 ipaserver/dcerpc.py:452 +#: ipaserver/dcerpc.py:365 +msgid "SSSD was unable to resolve the object to a valid SID" +msgstr "" + +#: ipaserver/dcerpc.py:372 ipaserver/dcerpc.py:504 msgid "Ambiguous search, user domain was not specified" msgstr "" -#: ipaserver/dcerpc.py:353 ipaserver/dcerpc.py:400 +#: ipaserver/dcerpc.py:384 ipaserver/dcerpc.py:452 msgid "Trusted domain did not return a unique object" msgstr "" -#: ipaserver/dcerpc.py:360 +#: ipaserver/dcerpc.py:391 msgid "Trusted domain did not return a valid SID for the object" msgstr "" -#: ipaserver/dcerpc.py:437 ipaserver/dcerpc.py:447 +#: ipaserver/dcerpc.py:489 ipaserver/dcerpc.py:499 msgid "trusted domain user not found" msgstr "" -#: ipaserver/dcerpc.py:572 +#: ipaserver/dcerpc.py:672 msgid "Cannot retrieve trusted domain GC list" msgstr "" -#: ipaserver/dcerpc.py:713 +#: ipaserver/dcerpc.py:816 msgid "CIFS credentials object" msgstr "" -#: ipaserver/dcerpc.py:750 +#: ipaserver/dcerpc.py:854 #, python-format msgid "CIFS server %(host)s denied your credentials" msgstr "" -#: ipaserver/dcerpc.py:754 +#: ipaserver/dcerpc.py:858 #, python-format msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" msgstr "" -#: ipaserver/dcerpc.py:955 +#: ipaserver/dcerpc.py:1056 #, python-format msgid "" "the IPA server and the remote domain cannot share the same NetBIOS name: %s" msgstr "" -#: ipaserver/dcerpc.py:1035 +#: ipaserver/dcerpc.py:1157 #, python-format msgid "" "IPA master denied trust validation requests from AD DC %(count)d times. Most " "likely AD DC contacted a replica that has no trust information replicated " -"yet." +"yet. Additionally, please check that AD DNS is able to resolve %(records)s " +"SRV records to the correct IPA server." msgstr "" -#: ipaserver/install/certs.py:409 +#: ipaserver/install/certs.py:408 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" -#: ipaserver/plugins/dogtag.py:1321 +#: ipaserver/plugins/dogtag.py:1325 msgid "Unable to communicate with CMS" msgstr "" -#: ipaserver/plugins/dogtag.py:1853 +#: ipaserver/plugins/dogtag.py:1859 msgid "find not supported on CAs upgraded from 9 to 10" msgstr "" -#: ipaserver/plugins/dogtag.py:2018 +#: ipaserver/plugins/dogtag.py:2044 msgid "Failed to authenticate to CA REST API" msgstr "" -#: ipaserver/plugins/dogtag.py:2043 +#: ipaserver/plugins/dogtag.py:2069 msgid "REST API is not logged in." msgstr "" -#: ipaserver/plugins/dogtag.py:2060 +#: ipaserver/plugins/dogtag.py:2086 #, python-format msgid "" "Non-2xx response from CA REST API: %(status)d %(status_text)s. " "%(explanation)s" msgstr "" -#: ipaserver/plugins/join.py:59 +#: ipaserver/plugins/join.py:53 msgid "The hostname to register as" msgstr "" -#: ipaserver/plugins/join.py:68 +#: ipaserver/plugins/join.py:62 msgid "The IPA realm" msgstr "" -#: ipaserver/plugins/join.py:74 +#: ipaserver/plugins/join.py:68 msgid "Hardware platform of the host (e.g. Lenovo T61)" msgstr "" -#: ipaserver/plugins/join.py:78 +#: ipaserver/plugins/join.py:72 msgid "Operating System and version of the host (e.g. Fedora 9)" msgstr "" -#: ipaserver/plugins/join.py:118 +#: ipaserver/plugins/join.py:112 #, python-format msgid "" "Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " "'%s'." msgstr "" -#: ipaserver/plugins/ldap2.py:282 +#: ipaserver/plugins/ldap2.py:268 msgid "Could not read UPG Definition originfilter. Check your permissions." msgstr "" @@ -14798,308 +15472,323 @@ msgstr "" msgid "read error\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:63 +#: ipa-client/ipa-getkeytab.c:64 #, c-format msgid "Kerberos context initialization failed: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:74 +#: ipa-client/ipa-getkeytab.c:75 #, c-format msgid "Unable to parse principal: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:129 +#: ipa-client/ipa-getkeytab.c:130 #, c-format msgid "No keys accepted by KDC\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:144 +#: ipa-client/ipa-getkeytab.c:145 #, c-format msgid "Out of memory \n" msgstr "" -#: ipa-client/ipa-getkeytab.c:170 +#: ipa-client/ipa-getkeytab.c:171 #, c-format msgid "Unable to set LDAP_OPT_X_TLS_CERTIFICATE\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:176 +#: ipa-client/ipa-getkeytab.c:177 #, c-format msgid "Unable to init for ldaps(636) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:183 +#: ipa-client/ipa-getkeytab.c:184 #, c-format msgid "Unable to set LDAP_OPT_X_TLS\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:189 +#: ipa-client/ipa-getkeytab.c:190 #, c-format msgid "Unable to init for ldap(389) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:195 +#: ipa-client/ipa-getkeytab.c:196 #, c-format msgid "Unable to initialize ldap library!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:203 ipa-client/ipa-join.c:243 +#: ipa-client/ipa-getkeytab.c:204 ipa-client/ipa-join.c:243 #, c-format msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:211 +#: ipa-client/ipa-getkeytab.c:212 #, c-format msgid "Unable to set LDAP_OPT_PROTOCOL_VERSION\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:222 +#: ipa-client/ipa-getkeytab.c:223 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:265 +#: ipa-client/ipa-getkeytab.c:266 #, c-format msgid "Operation failed: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:274 +#: ipa-client/ipa-getkeytab.c:275 #, c-format msgid "Failed to get result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:280 +#: ipa-client/ipa-getkeytab.c:281 #, c-format msgid "Failed to parse extended result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:287 +#: ipa-client/ipa-getkeytab.c:288 #, c-format msgid "Failed to parse result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:306 +#: ipa-client/ipa-getkeytab.c:307 #, c-format msgid "Missing reply control list!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:316 +#: ipa-client/ipa-getkeytab.c:317 #, c-format msgid "Missing reply control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:356 +#: ipa-client/ipa-getkeytab.c:357 #, c-format msgid "Out of Memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:363 ipa-client/ipa-getkeytab.c:522 +#: ipa-client/ipa-getkeytab.c:364 ipa-client/ipa-getkeytab.c:523 #, c-format msgid "Failed to create control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:369 ipa-client/ipa-getkeytab.c:529 +#: ipa-client/ipa-getkeytab.c:370 ipa-client/ipa-getkeytab.c:530 #, c-format msgid "Failed to bind to server!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:376 +#: ipa-client/ipa-getkeytab.c:377 #, c-format msgid "Failed to get keytab!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:385 +#: ipa-client/ipa-getkeytab.c:386 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:404 +#: ipa-client/ipa-getkeytab.c:405 #, c-format msgid "ber_scanf() failed, unable to find kvno ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:416 +#: ipa-client/ipa-getkeytab.c:417 #, c-format msgid "Failed to retrieve encryption type type #%d\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:420 +#: ipa-client/ipa-getkeytab.c:421 #, c-format msgid "Failed to retrieve encryption type %1$s (#%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:430 +#: ipa-client/ipa-getkeytab.c:431 #, c-format msgid "Failed to retrieve any keys" msgstr "" -#: ipa-client/ipa-getkeytab.c:544 +#: ipa-client/ipa-getkeytab.c:545 msgid "Failed to decode control reply!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:572 +#: ipa-client/ipa-getkeytab.c:573 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:578 +#: ipa-client/ipa-getkeytab.c:579 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:613 +#: ipa-client/ipa-getkeytab.c:612 +#, c-format +msgid "Failed to open config file %s\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:622 +#, c-format +msgid "Failed to parse config file %s\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:689 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:613 +#: ipa-client/ipa-getkeytab.c:689 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:615 +#: ipa-client/ipa-getkeytab.c:691 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:616 +#: ipa-client/ipa-getkeytab.c:692 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:618 +#: ipa-client/ipa-getkeytab.c:694 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:619 ipa-client/ipa-rmkeytab.c:172 +#: ipa-client/ipa-getkeytab.c:695 ipa-client/ipa-rmkeytab.c:172 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:621 +#: ipa-client/ipa-getkeytab.c:697 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-rmkeytab.c:174 +#: ipa-client/ipa-getkeytab.c:698 ipa-client/ipa-rmkeytab.c:174 msgid "Keytab File Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:624 +#: ipa-client/ipa-getkeytab.c:700 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:625 +#: ipa-client/ipa-getkeytab.c:701 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:627 +#: ipa-client/ipa-getkeytab.c:703 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:628 +#: ipa-client/ipa-getkeytab.c:704 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:630 +#: ipa-client/ipa-getkeytab.c:706 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:632 +#: ipa-client/ipa-getkeytab.c:708 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:632 +#: ipa-client/ipa-getkeytab.c:708 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:634 +#: ipa-client/ipa-getkeytab.c:710 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:634 +#: ipa-client/ipa-getkeytab.c:710 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:636 +#: ipa-client/ipa-getkeytab.c:712 msgid "Retrieve current keys without changing them" msgstr "" -#: ipa-client/ipa-getkeytab.c:661 ipa-client/ipa-rmkeytab.c:190 +#: ipa-client/ipa-getkeytab.c:737 ipa-client/ipa-rmkeytab.c:190 #, c-format msgid "Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:674 util/ipa_krb5.c:878 +#: ipa-client/ipa-getkeytab.c:750 util/ipa_krb5.c:878 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:677 +#: ipa-client/ipa-getkeytab.c:753 #, c-format msgid "Supported encryption types:\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:681 +#: ipa-client/ipa-getkeytab.c:757 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:700 +#: ipa-client/ipa-getkeytab.c:776 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:707 +#: ipa-client/ipa-getkeytab.c:792 +#, c-format +msgid "Server name not provided and unavailable\n" +msgstr "" + +#: ipa-client/ipa-getkeytab.c:798 #, c-format msgid "Incompatible options provided (-r and -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:718 +#: ipa-client/ipa-getkeytab.c:809 #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:730 +#: ipa-client/ipa-getkeytab.c:821 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:738 +#: ipa-client/ipa-getkeytab.c:829 #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:746 +#: ipa-client/ipa-getkeytab.c:837 #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:754 +#: ipa-client/ipa-getkeytab.c:845 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:771 +#: ipa-client/ipa-getkeytab.c:862 #, c-format msgid "Retrying with pre-4.0 keytab retrieval method...\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:781 +#: ipa-client/ipa-getkeytab.c:872 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:789 +#: ipa-client/ipa-getkeytab.c:880 #, c-format msgid "Failed to get keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:803 +#: ipa-client/ipa-getkeytab.c:894 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:812 +#: ipa-client/ipa-getkeytab.c:903 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:818 +#: ipa-client/ipa-getkeytab.c:909 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" |