diff options
Diffstat (limited to 'install/po/ipa.pot')
-rw-r--r-- | install/po/ipa.pot | 1916 |
1 files changed, 1024 insertions, 892 deletions
diff --git a/install/po/ipa.pot b/install/po/ipa.pot index 96acd1e0c..7a4894e4c 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2011-03-14 16:23-0400\n" +"POT-Creation-Date: 2011-06-06 13:27-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -85,7 +85,7 @@ msgid "" "\n" "Note the distinction between attributes and entries. The permissions are\n" "independent, so being able to add a user does not mean that the user will\n" -"be editabe.\n" +"be editable.\n" "\n" "The bind rule defines who this ACI grants permissions to. The LDAP server\n" "allows this to be any valid LDAP entry but we encourage the use of\n" @@ -97,7 +97,7 @@ msgid "" "\n" "EXAMPLES:\n" "\n" -"NOTE: ACIs are now added via the permision plugin. These examples are to\n" +"NOTE: ACIs are now added via the permission plugin. These examples are to\n" "demonstrate how the various options work but this is done via the " "permission\n" "command-line now (see last example).\n" @@ -294,7 +294,7 @@ msgstr "" msgid "Comma-separated list of attributes" msgstr "" -#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:158 +#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:164 #: ipalib/plugins/permission.py:131 msgid "Type" msgstr "" @@ -311,7 +311,7 @@ msgstr "" msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:228 +#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:234 #: ipalib/plugins/permission.py:144 msgid "Filter" msgstr "" @@ -565,85 +565,85 @@ msgid "" " ipa automountkey-del baltimore auto.share --key=man\n" msgstr "" -#: ipalib/plugins/automount.py:181 +#: ipalib/plugins/automount.py:182 msgid "" "\n" " Location container for automount maps.\n" " " msgstr "" -#: ipalib/plugins/automount.py:189 -msgid "Automount" +#: ipalib/plugins/automount.py:190 +msgid "Automount Locations" msgstr "" -#: ipalib/plugins/automount.py:195 ipalib/plugins/host.py:230 +#: ipalib/plugins/automount.py:196 ipalib/plugins/host.py:247 msgid "Location" msgstr "" -#: ipalib/plugins/automount.py:196 +#: ipalib/plugins/automount.py:197 msgid "Automount location name." msgstr "" -#: ipalib/plugins/automount.py:205 +#: ipalib/plugins/automount.py:206 msgid "" "\n" " Create a new automount location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:220 +#: ipalib/plugins/automount.py:221 msgid "" "\n" " Delete an automount location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:228 +#: ipalib/plugins/automount.py:229 msgid "" "\n" " Display an automount location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:236 +#: ipalib/plugins/automount.py:237 msgid "" "\n" " Search for an automount location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:244 +#: ipalib/plugins/automount.py:245 msgid "" "\n" " Generate automount files for a specific location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:307 +#: ipalib/plugins/automount.py:308 msgid "" "\n" " Import automount files for a specific location.\n" " " msgstr "" -#: ipalib/plugins/automount.py:313 +#: ipalib/plugins/automount.py:314 msgid "Master file" msgstr "" -#: ipalib/plugins/automount.py:314 +#: ipalib/plugins/automount.py:315 msgid "Automount master file." msgstr "" -#: ipalib/plugins/automount.py:321 +#: ipalib/plugins/automount.py:322 msgid "" "Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/plugins/automount.py:333 +#: ipalib/plugins/automount.py:334 msgid "File %(file)s not found" msgstr "" -#: ipalib/plugins/automount.py:340 +#: ipalib/plugins/automount.py:341 msgid "" "\n" " The basic idea is to read the master file and create all the maps\n" @@ -651,162 +651,172 @@ msgid "" " " msgstr "" -#: ipalib/plugins/automount.py:491 +#: ipalib/plugins/automount.py:492 msgid "" "\n" " Automount map object.\n" " " msgstr "" -#: ipalib/plugins/automount.py:504 +#: ipalib/plugins/automount.py:505 msgid "Map" msgstr "" -#: ipalib/plugins/automount.py:505 +#: ipalib/plugins/automount.py:506 msgid "Automount map name." msgstr "" -#: ipalib/plugins/automount.py:510 ipalib/plugins/group.py:113 +#: ipalib/plugins/automount.py:511 ipalib/plugins/group.py:114 #: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73 -#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:220 +#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:237 #: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109 -#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:93 +#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:92 #: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76 #: ipalib/plugins/sudorule.py:78 msgid "Description" msgstr "" -#: ipalib/plugins/automount.py:514 +#: ipalib/plugins/automount.py:515 msgid "Automount Maps" msgstr "" -#: ipalib/plugins/automount.py:520 +#: ipalib/plugins/automount.py:521 msgid "" "\n" " Create a new automount map.\n" " " msgstr "" -#: ipalib/plugins/automount.py:528 +#: ipalib/plugins/automount.py:529 msgid "" "\n" " Delete an automount map.\n" " " msgstr "" -#: ipalib/plugins/automount.py:547 +#: ipalib/plugins/automount.py:548 msgid "" "\n" " Modify an automount map.\n" " " msgstr "" -#: ipalib/plugins/automount.py:555 +#: ipalib/plugins/automount.py:556 msgid "" "\n" " Search for an automount map.\n" " " msgstr "" -#: ipalib/plugins/automount.py:563 +#: ipalib/plugins/automount.py:564 msgid "" "\n" " Display an automount map.\n" " " msgstr "" -#: ipalib/plugins/automount.py:571 +#: ipalib/plugins/automount.py:572 msgid "" "\n" " Automount key object.\n" " " msgstr "" -#: ipalib/plugins/automount.py:588 ipalib/plugins/automount.py:724 -#: ipalib/plugins/automount.py:796 +#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:778 +#: ipalib/plugins/automount.py:850 msgid "Key" msgstr "" -#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:725 -#: ipalib/plugins/automount.py:797 +#: ipalib/plugins/automount.py:590 ipalib/plugins/automount.py:779 +#: ipalib/plugins/automount.py:851 msgid "Automount key name." msgstr "" -#: ipalib/plugins/automount.py:593 ipalib/plugins/automount.py:729 -#: ipalib/plugins/automount.py:801 +#: ipalib/plugins/automount.py:594 ipalib/plugins/automount.py:783 +#: ipalib/plugins/automount.py:855 msgid "Mount information" msgstr "" -#: ipalib/plugins/automount.py:596 +#: ipalib/plugins/automount.py:597 msgid "description" msgstr "" -#: ipalib/plugins/automount.py:605 +#: ipalib/plugins/automount.py:606 msgid "Automount Keys" msgstr "" -#: ipalib/plugins/automount.py:606 +#: ipalib/plugins/automount.py:607 msgid "" "The key,info pair must be unique. A key named %(key)s with info %(info)s " "already exists" msgstr "" -#: ipalib/plugins/automount.py:607 +#: ipalib/plugins/automount.py:608 +msgid "key named %(key)s already exists" +msgstr "" + +#: ipalib/plugins/automount.py:609 msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/automount.py:667 +#: ipalib/plugins/automount.py:659 +msgid "" +"More than one entry with key %(key)s found, use --info to select specific " +"entry." +msgstr "" + +#: ipalib/plugins/automount.py:717 msgid "" "\n" " Create a new automount key.\n" " " msgstr "" -#: ipalib/plugins/automount.py:688 +#: ipalib/plugins/automount.py:742 msgid "" "\n" " Create a new indirect mount point.\n" " " msgstr "" -#: ipalib/plugins/automount.py:694 +#: ipalib/plugins/automount.py:748 msgid "Mount point" msgstr "" -#: ipalib/plugins/automount.py:698 +#: ipalib/plugins/automount.py:752 msgid "Parent map" msgstr "" -#: ipalib/plugins/automount.py:699 +#: ipalib/plugins/automount.py:753 msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/automount.py:718 +#: ipalib/plugins/automount.py:772 msgid "" "\n" " Delete an automount key.\n" " " msgstr "" -#: ipalib/plugins/automount.py:749 +#: ipalib/plugins/automount.py:803 msgid "" "\n" " Modify an automount key.\n" " " msgstr "" -#: ipalib/plugins/automount.py:755 +#: ipalib/plugins/automount.py:809 msgid "New mount information" msgstr "" -#: ipalib/plugins/automount.py:782 +#: ipalib/plugins/automount.py:836 msgid "" "\n" " Search for an automount key.\n" " " msgstr "" -#: ipalib/plugins/automount.py:790 +#: ipalib/plugins/automount.py:844 msgid "" "\n" " Display an automount key.\n" @@ -964,60 +974,75 @@ msgid "" " " msgstr "" -#: ipalib/plugins/baseldap.py:275 +#: ipalib/plugins/baseldap.py:281 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:277 +#: ipalib/plugins/baseldap.py:283 msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:278 +#: ipalib/plugins/baseldap.py:284 msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:279 +#: ipalib/plugins/baseldap.py:285 msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:280 +#: ipalib/plugins/baseldap.py:286 msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:409 +#: ipalib/plugins/baseldap.py:415 msgid "" "Add an attribute/value pair. Format is attr=value. The attribute must be " "part of the schema." msgstr "" -#: ipalib/plugins/baseldap.py:414 +#: ipalib/plugins/baseldap.py:420 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:438 +#: ipalib/plugins/baseldap.py:444 +msgid "" +"\n" +" If the set of objectclasses is limited enforce that only those\n" +" are updated in entry_attrs (plus dn)\n" +"\n" +" allow_only tells us what mode to check in:\n" +"\n" +" If True then we enforce that the attributes must be in the list of\n" +" allowed.\n" +"\n" +" If False then those attributes are not allowed.\n" +" " +msgstr "" + +#: ipalib/plugins/baseldap.py:474 msgid "" "\n" " Callback registration interface\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:509 +#: ipalib/plugins/baseldap.py:561 msgid "" "\n" " Create a new entry in LDAP.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:644 +#: ipalib/plugins/baseldap.py:703 msgid "" "\n" " Base class for commands that need to retrieve an existing entry.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:657 +#: ipalib/plugins/baseldap.py:727 msgid "" "\n" " Base class for commands that need to retrieve one or more existing " @@ -1025,124 +1050,124 @@ msgid "" " " msgstr "" -#: ipalib/plugins/baseldap.py:663 +#: ipalib/plugins/baseldap.py:733 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:679 +#: ipalib/plugins/baseldap.py:750 msgid "" "\n" " Retrieve an LDAP entry.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:687 ipalib/plugins/baseldap.py:753 -#: ipalib/plugins/internal.py:226 +#: ipalib/plugins/baseldap.py:758 ipalib/plugins/baseldap.py:827 +#: ipalib/plugins/internal.py:232 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:688 ipalib/plugins/baseldap.py:754 +#: ipalib/plugins/baseldap.py:759 ipalib/plugins/baseldap.py:828 msgid "" "Display the access rights of this entry (requires --all). See ipa man page " "for details." msgstr "" -#: ipalib/plugins/baseldap.py:747 +#: ipalib/plugins/baseldap.py:821 msgid "" "\n" " Update an LDAP entry.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:763 +#: ipalib/plugins/baseldap.py:837 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:764 +#: ipalib/plugins/baseldap.py:838 msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:880 +#: ipalib/plugins/baseldap.py:957 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:908 +#: ipalib/plugins/baseldap.py:988 msgid "" "\n" " Delete an LDAP entry and all of its direct subentries.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:995 +#: ipalib/plugins/baseldap.py:1078 msgid "" "\n" " Base class for member manipulation.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:1037 +#: ipalib/plugins/baseldap.py:1120 msgid "" "\n" " Add other LDAP entries to members.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:1048 ipalib/plugins/baseldap.py:1481 +#: ipalib/plugins/baseldap.py:1131 ipalib/plugins/baseldap.py:1592 #: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191 -#: ipalib/plugins/role.py:180 ipalib/plugins/role.py:204 +#: ipalib/plugins/role.py:179 ipalib/plugins/role.py:203 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:1052 ipalib/plugins/baseldap.py:1485 +#: ipalib/plugins/baseldap.py:1135 ipalib/plugins/baseldap.py:1596 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1140 +#: ipalib/plugins/baseldap.py:1226 msgid "" "\n" " Remove LDAP entries from members.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:1150 ipalib/plugins/baseldap.py:1591 +#: ipalib/plugins/baseldap.py:1236 ipalib/plugins/baseldap.py:1705 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1154 ipalib/plugins/baseldap.py:1595 +#: ipalib/plugins/baseldap.py:1240 ipalib/plugins/baseldap.py:1709 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1246 +#: ipalib/plugins/baseldap.py:1335 msgid "" "\n" " Retrieve all LDAP entries matching the given criteria.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:1255 +#: ipalib/plugins/baseldap.py:1344 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1256 +#: ipalib/plugins/baseldap.py:1345 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:1262 +#: ipalib/plugins/baseldap.py:1351 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1263 +#: ipalib/plugins/baseldap.py:1352 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/baseldap.py:1441 +#: ipalib/plugins/baseldap.py:1552 msgid "" "\n" " Base class for reverse member manipulation.\n" " " msgstr "" -#: ipalib/plugins/baseldap.py:1463 +#: ipalib/plugins/baseldap.py:1574 msgid "" "\n" " Add other LDAP entries to members in reverse.\n" @@ -1152,11 +1177,11 @@ msgid "" " " msgstr "" -#: ipalib/plugins/baseldap.py:1543 +#: ipalib/plugins/baseldap.py:1654 msgid "added" msgstr "" -#: ipalib/plugins/baseldap.py:1573 +#: ipalib/plugins/baseldap.py:1687 msgid "" "\n" " Remove other LDAP entries from members in reverse.\n" @@ -1166,7 +1191,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/baseldap.py:1653 +#: ipalib/plugins/baseldap.py:1767 msgid "removed" msgstr "" @@ -1177,12 +1202,12 @@ msgid "" "\n" "To run this code in the lite-server\n" "\n" -"curl -H \"Content-Type:application/json\" -H \"Acept:applicaton/" +"curl -H \"Content-Type:application/json\" -H \"Accept:application/" "json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /" "etc/ipa/ca.crt -d @batch_request.json -X POST http://" "localhost:8888/ipa/json\n" "\n" -"where the contenst of the file batch_request.json follow the below example\n" +"where the contents of the file batch_request.json follow the below example\n" "\n" "{\"method\":\"batch\",\"params\":[[\n" " {\"method\":\"group_find\",\"params\":[[],{}]},\n" @@ -1207,7 +1232,7 @@ msgstr "" msgid "Nested Methods to execute" msgstr "" -#: ipalib/plugins/batch.py:68 ipalib/frontend.py:862 +#: ipalib/plugins/batch.py:68 ipalib/frontend.py:861 msgid "Client version. Used to determine if server will accept request." msgstr "" @@ -1275,29 +1300,29 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/cert.py:105 +#: ipalib/plugins/cert.py:104 msgid "" "\n" " Return the value of CN in the subject of the request or None\n" " " msgstr "" -#: ipalib/plugins/cert.py:113 +#: ipalib/plugins/cert.py:112 msgid "Failure decoding Certificate Signing Request:" msgstr "" -#: ipalib/plugins/cert.py:116 +#: ipalib/plugins/cert.py:115 msgid "" "\n" " Return the first value of the subject alt name, if any\n" " " msgstr "" -#: ipalib/plugins/cert.py:126 ipalib/plugins/cert.py:138 +#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:137 msgid "Failure decoding Certificate Signing Request" msgstr "" -#: ipalib/plugins/cert.py:129 +#: ipalib/plugins/cert.py:128 msgid "" "\n" " Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n" @@ -1305,18 +1330,18 @@ msgid "" " " msgstr "" -#: ipalib/plugins/cert.py:140 +#: ipalib/plugins/cert.py:139 msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/cert.py:143 +#: ipalib/plugins/cert.py:142 msgid "" "\n" " Strip any leading and trailing cruft around the BEGIN/END block\n" " " msgstr "" -#: ipalib/plugins/cert.py:163 +#: ipalib/plugins/cert.py:162 msgid "" "\n" " Convert a SN given in decimal or hexadecimal.\n" @@ -1324,7 +1349,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/cert.py:189 +#: ipalib/plugins/cert.py:188 msgid "" "\n" " Given a principal with or without a realm return the\n" @@ -1332,140 +1357,140 @@ msgid "" " " msgstr "" -#: ipalib/plugins/cert.py:203 +#: ipalib/plugins/cert.py:202 msgid "" "\n" " Submit a certificate signing request.\n" " " msgstr "" -#: ipalib/plugins/cert.py:217 ipalib/plugins/service.py:304 +#: ipalib/plugins/cert.py:216 ipalib/plugins/service.py:225 msgid "Principal" msgstr "" -#: ipalib/plugins/cert.py:218 +#: ipalib/plugins/cert.py:217 msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/cert.py:225 +#: ipalib/plugins/cert.py:224 msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:233 ipalib/plugins/cert.py:440 -#: ipalib/plugins/entitle.py:182 ipalib/plugins/host.py:259 -#: ipalib/plugins/service.py:311 +#: ipalib/plugins/cert.py:232 ipalib/plugins/cert.py:439 +#: ipalib/plugins/entitle.py:173 ipalib/plugins/host.py:276 +#: ipalib/plugins/service.py:232 msgid "Certificate" msgstr "" -#: ipalib/plugins/cert.py:237 ipalib/plugins/cert.py:443 -#: ipalib/plugins/host.py:143 ipalib/plugins/service.py:93 +#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:442 +#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:93 msgid "Subject" msgstr "" -#: ipalib/plugins/cert.py:241 ipalib/plugins/cert.py:446 -#: ipalib/plugins/host.py:149 ipalib/plugins/service.py:99 +#: ipalib/plugins/cert.py:240 ipalib/plugins/cert.py:445 +#: ipalib/plugins/host.py:165 ipalib/plugins/service.py:99 msgid "Issuer" msgstr "" -#: ipalib/plugins/cert.py:245 ipalib/plugins/cert.py:449 -#: ipalib/plugins/host.py:152 ipalib/plugins/service.py:102 +#: ipalib/plugins/cert.py:244 ipalib/plugins/cert.py:448 +#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:102 msgid "Not Before" msgstr "" -#: ipalib/plugins/cert.py:249 ipalib/plugins/cert.py:452 -#: ipalib/plugins/host.py:155 ipalib/plugins/service.py:105 +#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:451 +#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:105 msgid "Not After" msgstr "" -#: ipalib/plugins/cert.py:253 ipalib/plugins/cert.py:455 -#: ipalib/plugins/host.py:158 ipalib/plugins/service.py:108 +#: ipalib/plugins/cert.py:252 ipalib/plugins/cert.py:454 +#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:108 msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:458 -#: ipalib/plugins/host.py:161 ipalib/plugins/service.py:111 +#: ipalib/plugins/cert.py:256 ipalib/plugins/cert.py:457 +#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:111 msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/cert.py:261 ipalib/plugins/cert.py:426 +#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:425 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:269 ipalib/plugins/entitle.py:237 -#: ipalib/plugins/entitle.py:595 ipalib/plugins/misc.py:57 +#: ipalib/plugins/cert.py:268 ipalib/plugins/entitle.py:230 +#: ipalib/plugins/entitle.py:588 ipalib/plugins/misc.py:57 msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/cert.py:397 +#: ipalib/plugins/cert.py:396 msgid "" "\n" " Check the status of a certificate signing request.\n" " " msgstr "" -#: ipalib/plugins/cert.py:403 +#: ipalib/plugins/cert.py:402 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:409 +#: ipalib/plugins/cert.py:408 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:427 +#: ipalib/plugins/cert.py:426 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:432 +#: ipalib/plugins/cert.py:431 msgid "" "\n" " Retrieve an existing certificate.\n" " " msgstr "" -#: ipalib/plugins/cert.py:461 ipalib/plugins/host.py:164 +#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:180 #: ipalib/plugins/service.py:114 msgid "Revocation reason" msgstr "" -#: ipalib/plugins/cert.py:467 +#: ipalib/plugins/cert.py:466 msgid "Output filename" msgstr "" -#: ipalib/plugins/cert.py:468 +#: ipalib/plugins/cert.py:467 msgid "File to store the certificate in." msgstr "" -#: ipalib/plugins/cert.py:519 +#: ipalib/plugins/cert.py:518 msgid "" "\n" " Revoke a certificate.\n" " " msgstr "" -#: ipalib/plugins/cert.py:527 +#: ipalib/plugins/cert.py:526 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:535 +#: ipalib/plugins/cert.py:534 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:536 +#: ipalib/plugins/cert.py:535 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:563 +#: ipalib/plugins/cert.py:562 msgid "" "\n" " Take a revoked certificate off hold.\n" " " msgstr "" -#: ipalib/plugins/cert.py:571 +#: ipalib/plugins/cert.py:570 msgid "Unrevoked" msgstr "" -#: ipalib/plugins/cert.py:574 +#: ipalib/plugins/cert.py:573 msgid "Error" msgstr "" @@ -1533,7 +1558,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:145 +#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:151 msgid "Configuration" msgstr "" @@ -1801,7 +1826,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/dns.py:19 +#: ipalib/plugins/dns.py:20 msgid "" "\n" "Domain Name System (DNS)\n" @@ -1839,6 +1864,32 @@ msgid "" " ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." "example.com\"\n" "\n" +" When dnsrecord-add command is executed with no option to add a specific " +"record\n" +" an interactive mode is started. The mode interactively prompts for the " +"most\n" +" typical record types for the respective zone:\n" +" ipa dnsrecord-add example.com www\n" +" [A record]: 1.2.3.4,11.22.33.44 (2 interactively entered random " +"IPs)\n" +" [AAAA record]: (no AAAA address entered)\n" +" Record name: www\n" +" A record: 1.2.3.4, 11.22.33.44\n" +"\n" +" The interactive mode can also be used for deleting the DNS records:\n" +" ipa dnsrecord-del example.com www\n" +" No option to delete specific record provided.\n" +" Delete all? Yes/No (default No): (do not delete all records)\n" +" Current DNS record contents:\n" +"\n" +" A record: 1.2.3.4, 11.22.33.44\n" +"\n" +" Delete A record '1.2.3.4'? Yes/No (default No): \n" +" Delete A record '11.22.33.44'? Yes/No (default No): y\n" +" Record name: www\n" +" A record: 1.2.3.4 (A record 11.22.33.44 has been " +"deleted)\n" +"\n" " Show zone example.com:\n" " ipa dnszone-show example.com\n" "\n" @@ -1861,312 +1912,352 @@ msgid "" " if one is not included):\n" " ipa dns-resolve www.example.com\n" " ipa dns-resolve www\n" -"\n" msgstr "" -#: ipalib/plugins/dns.py:110 +#: ipalib/plugins/dns.py:140 msgid "Generate serial number for zones." msgstr "" -#: ipalib/plugins/dns.py:159 +#: ipalib/plugins/dns.py:189 msgid "see RFC 2915 " msgstr "" -#: ipalib/plugins/dns.py:205 +#: ipalib/plugins/dns.py:249 msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/dns.py:228 +#: ipalib/plugins/dns.py:272 msgid "" "\n" " DNS Zone, container for resource records.\n" " " msgstr "" -#: ipalib/plugins/dns.py:240 +#: ipalib/plugins/dns.py:284 msgid "DNS" msgstr "" -#: ipalib/plugins/dns.py:245 +#: ipalib/plugins/dns.py:289 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:246 +#: ipalib/plugins/dns.py:290 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:252 +#: ipalib/plugins/dns.py:296 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:253 +#: ipalib/plugins/dns.py:297 msgid "Authoritative nameserver." msgstr "" -#: ipalib/plugins/dns.py:257 ipalib/plugins/dns.py:258 +#: ipalib/plugins/dns.py:301 ipalib/plugins/dns.py:302 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:264 +#: ipalib/plugins/dns.py:308 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:265 +#: ipalib/plugins/dns.py:309 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:272 +#: ipalib/plugins/dns.py:316 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:273 +#: ipalib/plugins/dns.py:317 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:280 +#: ipalib/plugins/dns.py:324 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:281 +#: ipalib/plugins/dns.py:325 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:288 +#: ipalib/plugins/dns.py:332 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:289 +#: ipalib/plugins/dns.py:333 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:296 +#: ipalib/plugins/dns.py:340 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:297 +#: ipalib/plugins/dns.py:341 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:305 +#: ipalib/plugins/dns.py:349 msgid "SOA time to live" msgstr "" -#: ipalib/plugins/dns.py:306 +#: ipalib/plugins/dns.py:350 msgid "SOA record time to live" msgstr "" -#: ipalib/plugins/dns.py:310 +#: ipalib/plugins/dns.py:354 msgid "SOA class" msgstr "" -#: ipalib/plugins/dns.py:311 +#: ipalib/plugins/dns.py:355 msgid "SOA record class" msgstr "" -#: ipalib/plugins/dns.py:316 ipalib/plugins/dns.py:317 +#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:361 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:321 +#: ipalib/plugins/dns.py:365 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:322 +#: ipalib/plugins/dns.py:366 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:328 +#: ipalib/plugins/dns.py:372 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:329 +#: ipalib/plugins/dns.py:373 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:338 +#: ipalib/plugins/dns.py:382 msgid "" "\n" " Create new DNS zone (SOA record).\n" " " msgstr "" -#: ipalib/plugins/dns.py:343 +#: ipalib/plugins/dns.py:387 ipalib/plugins/dns.py:697 +#: ipalib/plugins/host.py:315 ipalib/plugins/service.py:250 +msgid "Force" +msgstr "" + +#: ipalib/plugins/dns.py:388 msgid "Force DNS zone creation even if nameserver not in DNS." msgstr "" -#: ipalib/plugins/dns.py:346 +#: ipalib/plugins/dns.py:391 msgid "Add the nameserver to DNS with this IP address" msgstr "" -#: ipalib/plugins/dns.py:352 +#: ipalib/plugins/dns.py:397 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:386 +#: ipalib/plugins/dns.py:431 msgid "" "\n" " Delete DNS zone (SOA record).\n" " " msgstr "" -#: ipalib/plugins/dns.py:394 +#: ipalib/plugins/dns.py:439 msgid "" "\n" " Modify DNS zone (SOA record).\n" " " msgstr "" -#: ipalib/plugins/dns.py:407 +#: ipalib/plugins/dns.py:452 msgid "" "\n" " Search for DNS zones (SOA records).\n" " " msgstr "" -#: ipalib/plugins/dns.py:415 +#: ipalib/plugins/dns.py:460 msgid "" "\n" " Display information about a DNS zone (SOA record).\n" " " msgstr "" -#: ipalib/plugins/dns.py:423 +#: ipalib/plugins/dns.py:468 msgid "" "\n" " Disable DNS Zone.\n" " " msgstr "" -#: ipalib/plugins/dns.py:427 +#: ipalib/plugins/dns.py:472 msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:445 +#: ipalib/plugins/dns.py:490 msgid "" "\n" " Enable DNS Zone.\n" " " msgstr "" -#: ipalib/plugins/dns.py:449 +#: ipalib/plugins/dns.py:494 msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:467 +#: ipalib/plugins/dns.py:512 msgid "" "\n" " DNS record.\n" " " msgstr "" -#: ipalib/plugins/dns.py:477 +#: ipalib/plugins/dns.py:522 msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:482 ipalib/plugins/dns.py:483 +#: ipalib/plugins/dns.py:527 ipalib/plugins/dns.py:528 msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:488 ipalib/plugins/dns.py:489 +#: ipalib/plugins/dns.py:533 ipalib/plugins/dns.py:534 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:493 +#: ipalib/plugins/dns.py:538 msgid "Class" msgstr "" -#: ipalib/plugins/dns.py:494 +#: ipalib/plugins/dns.py:539 msgid "DNS class" msgstr "" -#: ipalib/plugins/dns.py:521 +#: ipalib/plugins/dns.py:566 msgid "" "\n" " Base class for DNS record commands with record options.\n" " " msgstr "" -#: ipalib/plugins/dns.py:550 +#: ipalib/plugins/dns.py:610 msgid "" "\n" " Base class for adding/removing records from DNS resource entries.\n" " " msgstr "" -#: ipalib/plugins/dns.py:614 +#: ipalib/plugins/dns.py:674 msgid "" "\n" " Add records to DNS resource.\n" " " msgstr "" -#: ipalib/plugins/dns.py:630 +#: ipalib/plugins/dns.py:690 msgid "" "\n" " Add new DNS resource record.\n" " " msgstr "" -#: ipalib/plugins/dns.py:637 +#: ipalib/plugins/dns.py:699 msgid "force NS record creation even if its hostname is not in DNS" msgstr "" -#: ipalib/plugins/dns.py:696 +#: ipalib/plugins/dns.py:735 +msgid "" +"Reverse zone for PTR record should be a sub-zone of one the following fully " +"qualified domains: %s" +msgstr "" + +#: ipalib/plugins/dns.py:740 +msgid "Reverse zone %s requires exactly %d IP address components, %d given" +msgstr "" + +#: ipalib/plugins/dns.py:746 +msgid "PTR record '%s' is not fully qualified (check traling '.')" +msgstr "" + +#: ipalib/plugins/dns.py:789 msgid "" "\n" " Delete DNS record entry.\n" " " msgstr "" -#: ipalib/plugins/dns.py:699 +#: ipalib/plugins/dns.py:792 msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:706 +#: ipalib/plugins/dns.py:799 msgid "" "\n" " Delete DNS resource record.\n" " " msgstr "" -#: ipalib/plugins/dns.py:713 +#: ipalib/plugins/dns.py:802 +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." +msgstr "" + +#: ipalib/plugins/dns.py:807 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:749 +#: ipalib/plugins/dns.py:834 +msgid "No option to delete specific record provided." +msgstr "" + +#: ipalib/plugins/dns.py:835 +msgid "Delete all?" +msgstr "" + +#: ipalib/plugins/dns.py:845 +msgid "Current DNS record contents:\n" +msgstr "" + +#: ipalib/plugins/dns.py:875 +msgid "%s record with value %s not found" +msgstr "" + +#: ipalib/plugins/dns.py:889 msgid "" "\n" " Display DNS resource.\n" " " msgstr "" -#: ipalib/plugins/dns.py:765 +#: ipalib/plugins/dns.py:905 msgid "" "\n" " Search for DNS resources.\n" " " msgstr "" -#: ipalib/plugins/dns.py:792 +#: ipalib/plugins/dns.py:932 msgid "" "\n" " Resolve a host name in DNS\n" " " msgstr "" -#: ipalib/plugins/dns.py:796 +#: ipalib/plugins/dns.py:936 msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:800 +#: ipalib/plugins/dns.py:940 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:822 +#: ipalib/plugins/dns.py:962 msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/dns.py:830 +#: ipalib/plugins/dns.py:970 msgid "" "\n" " Checks if any of the servers has the DNS service enabled.\n" @@ -2210,22 +2301,14 @@ msgid "" "Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n" msgstr "" -#: ipalib/plugins/entitle.py:105 -msgid "" -"\n" -" The M2Crypto/openSSL modules are very picky about PEM format and\n" -" require lines split to 64 characters with proper headers.\n" -" " -msgstr "" - -#: ipalib/plugins/entitle.py:115 +#: ipalib/plugins/entitle.py:106 msgid "" "\n" " Get our entitlement pool. Assume there is only one pool.\n" " " msgstr "" -#: ipalib/plugins/entitle.py:138 +#: ipalib/plugins/entitle.py:129 msgid "" "\n" " Retrieve our UUID, certificate and key from LDAP.\n" @@ -2234,53 +2317,57 @@ msgid "" " " msgstr "" -#: ipalib/plugins/entitle.py:187 +#: ipalib/plugins/entitle.py:178 msgid "" "\n" " Entitlement object\n" " " msgstr "" -#: ipalib/plugins/entitle.py:213 +#: ipalib/plugins/entitle.py:189 +msgid "Entitlements" +msgstr "" + +#: ipalib/plugins/entitle.py:206 msgid "" "\n" " Display current entitlements\n" " " msgstr "" -#: ipalib/plugins/entitle.py:221 ipalib/plugins/entitle.py:609 +#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:602 msgid "UUID" msgstr "" -#: ipalib/plugins/entitle.py:224 ipalib/plugins/entitle.py:313 -#: ipalib/plugins/entitle.py:395 ipalib/plugins/entitle.py:582 -#: ipalib/plugins/entitle.py:697 +#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:306 +#: ipalib/plugins/entitle.py:388 ipalib/plugins/entitle.py:575 +#: ipalib/plugins/entitle.py:690 msgid "Product" msgstr "" -#: ipalib/plugins/entitle.py:227 ipalib/plugins/entitle.py:293 -#: ipalib/plugins/entitle.py:303 ipalib/plugins/entitle.py:398 -#: ipalib/plugins/entitle.py:585 ipalib/plugins/entitle.py:687 +#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:286 +#: ipalib/plugins/entitle.py:296 ipalib/plugins/entitle.py:391 +#: ipalib/plugins/entitle.py:578 ipalib/plugins/entitle.py:680 msgid "Quantity" msgstr "" -#: ipalib/plugins/entitle.py:230 ipalib/plugins/entitle.py:316 -#: ipalib/plugins/entitle.py:588 ipalib/plugins/entitle.py:700 +#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:309 +#: ipalib/plugins/entitle.py:581 ipalib/plugins/entitle.py:693 msgid "Consumed" msgstr "" -#: ipalib/plugins/entitle.py:283 +#: ipalib/plugins/entitle.py:276 msgid "" "\n" " Consume an entitlement\n" " " msgstr "" -#: ipalib/plugins/entitle.py:289 +#: ipalib/plugins/entitle.py:282 msgid "Consumed %(value)s entitlement(s)." msgstr "" -#: ipalib/plugins/entitle.py:321 +#: ipalib/plugins/entitle.py:314 msgid "" "\n" " Override this so we can set value to the number of entitlements\n" @@ -2288,7 +2375,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/entitle.py:369 ipalib/plugins/entitle.py:731 +#: ipalib/plugins/entitle.py:362 ipalib/plugins/entitle.py:724 msgid "" "\n" " Returning the certificates isn't very interesting. Return the\n" @@ -2296,74 +2383,74 @@ msgid "" " " msgstr "" -#: ipalib/plugins/entitle.py:387 +#: ipalib/plugins/entitle.py:380 msgid "" "\n" " Retrieve the entitlement certs\n" " " msgstr "" -#: ipalib/plugins/entitle.py:401 +#: ipalib/plugins/entitle.py:394 msgid "Start" msgstr "" -#: ipalib/plugins/entitle.py:404 +#: ipalib/plugins/entitle.py:397 msgid "End" msgstr "" -#: ipalib/plugins/entitle.py:407 ipalib/plugins/host.py:146 -#: ipalib/plugins/internal.py:126 ipalib/plugins/service.py:96 +#: ipalib/plugins/entitle.py:400 ipalib/plugins/host.py:162 +#: ipalib/plugins/internal.py:132 ipalib/plugins/service.py:96 msgid "Serial Number" msgstr "" -#: ipalib/plugins/entitle.py:442 ipalib/plugins/entitle.py:633 -#: ipalib/plugins/entitle.py:635 +#: ipalib/plugins/entitle.py:435 ipalib/plugins/entitle.py:626 +#: ipalib/plugins/entitle.py:628 msgid "Not an entitlement certificate" msgstr "" -#: ipalib/plugins/entitle.py:467 +#: ipalib/plugins/entitle.py:460 msgid "" "\n" " Search for entitlement accounts.\n" " " msgstr "" -#: ipalib/plugins/entitle.py:480 +#: ipalib/plugins/entitle.py:473 msgid "" "\n" " Register to the entitlement system\n" " " msgstr "" -#: ipalib/plugins/entitle.py:486 +#: ipalib/plugins/entitle.py:479 msgid "Registered to entitlement server." msgstr "" -#: ipalib/plugins/entitle.py:490 +#: ipalib/plugins/entitle.py:483 msgid "Username" msgstr "" -#: ipalib/plugins/entitle.py:497 ipalib/plugins/entitle.py:610 +#: ipalib/plugins/entitle.py:490 ipalib/plugins/entitle.py:603 msgid "Enrollment UUID" msgstr "" -#: ipalib/plugins/entitle.py:501 ipalib/plugins/migration.py:264 -#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:161 +#: ipalib/plugins/entitle.py:494 ipalib/plugins/migration.py:271 +#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:172 msgid "Password" msgstr "" -#: ipalib/plugins/entitle.py:502 +#: ipalib/plugins/entitle.py:495 msgid "Registration password" msgstr "" -#: ipalib/plugins/entitle.py:576 +#: ipalib/plugins/entitle.py:569 msgid "" "\n" " Import an entitlement certificate.\n" " " msgstr "" -#: ipalib/plugins/entitle.py:653 +#: ipalib/plugins/entitle.py:646 msgid "" "\n" " If we are adding the first entry there are no updates so " @@ -2372,14 +2459,14 @@ msgid "" " " msgstr "" -#: ipalib/plugins/entitle.py:674 +#: ipalib/plugins/entitle.py:667 msgid "" "\n" " Re-sync the local entitlement cache with the entitlement server\n" " " msgstr "" -#: ipalib/plugins/entitle.py:680 +#: ipalib/plugins/entitle.py:673 msgid "Entitlement(s) synchronized." msgstr "" @@ -2442,117 +2529,117 @@ msgid "" " " msgstr "" -#: ipalib/plugins/group.py:99 +#: ipalib/plugins/group.py:100 msgid "User Groups" msgstr "" -#: ipalib/plugins/group.py:107 +#: ipalib/plugins/group.py:108 msgid "Group name" msgstr "" -#: ipalib/plugins/group.py:114 ipalib/plugins/sudocmdgroup.py:77 +#: ipalib/plugins/group.py:115 ipalib/plugins/sudocmdgroup.py:77 msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:118 ipalib/plugins/user.py:176 +#: ipalib/plugins/group.py:119 ipalib/plugins/user.py:187 msgid "GID" msgstr "" -#: ipalib/plugins/group.py:119 +#: ipalib/plugins/group.py:120 msgid "GID (use this option to set it manually)" msgstr "" -#: ipalib/plugins/group.py:127 +#: ipalib/plugins/group.py:128 msgid "" "\n" " Create a new group.\n" " " msgstr "" -#: ipalib/plugins/group.py:131 +#: ipalib/plugins/group.py:132 msgid "Added group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:136 +#: ipalib/plugins/group.py:137 msgid "Create as a non-POSIX group" msgstr "" -#: ipalib/plugins/group.py:153 +#: ipalib/plugins/group.py:154 msgid "" "\n" " Delete group.\n" " " msgstr "" -#: ipalib/plugins/group.py:157 +#: ipalib/plugins/group.py:158 msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:185 +#: ipalib/plugins/group.py:186 msgid "" "\n" " Modify a group.\n" " " msgstr "" -#: ipalib/plugins/group.py:188 +#: ipalib/plugins/group.py:189 msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:193 +#: ipalib/plugins/group.py:194 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:214 +#: ipalib/plugins/group.py:215 msgid "" "\n" " Search for groups.\n" " " msgstr "" -#: ipalib/plugins/group.py:219 +#: ipalib/plugins/group.py:220 msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:226 ipalib/plugins/netgroup.py:192 +#: ipalib/plugins/group.py:227 ipalib/plugins/netgroup.py:192 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:256 +#: ipalib/plugins/group.py:257 msgid "" "\n" " Display information about a named group.\n" " " msgstr "" -#: ipalib/plugins/group.py:264 +#: ipalib/plugins/group.py:265 msgid "" "\n" " Add members to a group.\n" " " msgstr "" -#: ipalib/plugins/group.py:272 +#: ipalib/plugins/group.py:273 msgid "" "\n" " Remove members from a group.\n" " " msgstr "" -#: ipalib/plugins/group.py:280 +#: ipalib/plugins/group.py:281 msgid "" "\n" " Detach a managed group from a user\n" " " msgstr "" -#: ipalib/plugins/group.py:284 +#: ipalib/plugins/group.py:285 msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:287 +#: ipalib/plugins/group.py:288 msgid "" "\n" " This requires updating both the user and the group. We first need " @@ -2563,15 +2650,15 @@ msgid "" " " msgstr "" -#: ipalib/plugins/group.py:305 +#: ipalib/plugins/group.py:306 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:311 +#: ipalib/plugins/group.py:312 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:330 +#: ipalib/plugins/group.py:331 msgid "Not a managed group" msgstr "" @@ -2640,8 +2727,8 @@ msgid "" " " msgstr "" -#: ipalib/plugins/hbacrule.py:126 ipalib/plugins/internal.py:367 -msgid "HBAC" +#: ipalib/plugins/hbacrule.py:126 +msgid "HBAC Rule" msgstr "" #: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73 @@ -2697,16 +2784,16 @@ msgid "Enabled" msgstr "" #: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115 -#: ipalib/plugins/user.py:97 +#: ipalib/plugins/user.py:108 msgid "Users" msgstr "" -#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:266 +#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:272 #: ipalib/plugins/sudorule.py:119 msgid "Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:209 +#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:226 #: ipalib/plugins/sudorule.py:123 msgid "Hosts" msgstr "" @@ -2724,8 +2811,8 @@ msgstr "" msgid "Source host groups" msgstr "" -#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:190 -#: ipalib/plugins/service.py:299 +#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:196 +#: ipalib/plugins/service.py:220 msgid "Services" msgstr "" @@ -3153,7 +3240,7 @@ msgid "" " ipa host-add-managedby --hosts=test2 test\n" msgstr "" -#: ipalib/plugins/host.py:102 +#: ipalib/plugins/host.py:97 msgid "" "\n" " Require at least one dot in the hostname (to support localhost." @@ -3161,208 +3248,204 @@ msgid "" " " msgstr "" -#: ipalib/plugins/host.py:106 +#: ipalib/plugins/host.py:101 msgid "Fully-qualified hostname required" msgstr "" -#: ipalib/plugins/host.py:137 ipalib/plugins/service.py:87 +#: ipalib/plugins/host.py:129 +msgid "DNS reverse zone for IP address %(addr)s not found" +msgstr "" + +#: ipalib/plugins/host.py:153 ipalib/plugins/service.py:87 msgid "Keytab" msgstr "" -#: ipalib/plugins/host.py:169 +#: ipalib/plugins/host.py:185 msgid "" "\n" " Verify that we have either an IPv4 or IPv6 address.\n" " " msgstr "" -#: ipalib/plugins/host.py:173 +#: ipalib/plugins/host.py:189 msgid "invalid IP address" msgstr "" -#: ipalib/plugins/host.py:178 +#: ipalib/plugins/host.py:194 msgid "" "\n" " Host object.\n" " " msgstr "" -#: ipalib/plugins/host.py:214 +#: ipalib/plugins/host.py:231 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:221 +#: ipalib/plugins/host.py:238 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:225 +#: ipalib/plugins/host.py:242 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:226 +#: ipalib/plugins/host.py:243 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:231 +#: ipalib/plugins/host.py:248 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:235 +#: ipalib/plugins/host.py:252 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:236 +#: ipalib/plugins/host.py:253 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:240 +#: ipalib/plugins/host.py:257 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:241 +#: ipalib/plugins/host.py:258 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:245 +#: ipalib/plugins/host.py:262 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:246 +#: ipalib/plugins/host.py:263 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:249 +#: ipalib/plugins/host.py:266 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:254 +#: ipalib/plugins/host.py:271 msgid "Random password" msgstr "" -#: ipalib/plugins/host.py:260 ipalib/plugins/service.py:312 +#: ipalib/plugins/host.py:277 ipalib/plugins/service.py:233 msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/host.py:263 ipalib/plugins/host.py:539 +#: ipalib/plugins/host.py:280 ipalib/plugins/host.py:548 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:289 +#: ipalib/plugins/host.py:306 msgid "" "\n" " Add a new host.\n" " " msgstr "" -#: ipalib/plugins/host.py:294 +#: ipalib/plugins/host.py:311 msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:298 ipalib/plugins/service.py:329 -msgid "Force" -msgstr "" - -#: ipalib/plugins/host.py:299 +#: ipalib/plugins/host.py:316 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:302 +#: ipalib/plugins/host.py:319 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:305 +#: ipalib/plugins/host.py:322 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:321 ipalib/plugins/host.py:468 +#: ipalib/plugins/host.py:338 ipalib/plugins/host.py:477 msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/host.py:334 -msgid "Reverse DNS zone %(zone)s not found" -msgstr "" - -#: ipalib/plugins/host.py:404 +#: ipalib/plugins/host.py:413 msgid "The host was added but the DNS update failed with: %(exc)s" msgstr "" -#: ipalib/plugins/host.py:413 +#: ipalib/plugins/host.py:422 msgid "" "\n" " Delete a host.\n" " " msgstr "" -#: ipalib/plugins/host.py:417 +#: ipalib/plugins/host.py:426 msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:422 +#: ipalib/plugins/host.py:431 msgid "Remove entries from DNS" msgstr "" -#: ipalib/plugins/host.py:528 +#: ipalib/plugins/host.py:537 msgid "" "\n" " Modify information about a host.\n" " " msgstr "" -#: ipalib/plugins/host.py:533 +#: ipalib/plugins/host.py:542 msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:540 +#: ipalib/plugins/host.py:549 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:608 +#: ipalib/plugins/host.py:618 msgid "" "\n" " Search for hosts.\n" " " msgstr "" -#: ipalib/plugins/host.py:613 +#: ipalib/plugins/host.py:623 msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:633 +#: ipalib/plugins/host.py:643 msgid "" "\n" " Display information about a host.\n" " " msgstr "" -#: ipalib/plugins/host.py:639 ipalib/plugins/service.py:475 +#: ipalib/plugins/host.py:649 ipalib/plugins/service.py:400 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:663 ipalib/plugins/service.py:497 +#: ipalib/plugins/host.py:673 ipalib/plugins/service.py:422 msgid "Certificate stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/host.py:674 +#: ipalib/plugins/host.py:684 msgid "" "\n" " Disable the Kerberos key, SSL certificate and all services of a host.\n" " " msgstr "" -#: ipalib/plugins/host.py:678 +#: ipalib/plugins/host.py:688 msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:760 +#: ipalib/plugins/host.py:770 msgid "" "\n" " Add hosts that can manage this host.\n" " " msgstr "" -#: ipalib/plugins/host.py:771 +#: ipalib/plugins/host.py:781 msgid "" "\n" " Remove hosts that can manage this host.\n" @@ -3533,730 +3616,770 @@ msgid "Automount Location Settings" msgstr "" #: ipalib/plugins/internal.py:106 +msgid "Add Automount Map" +msgstr "" + +#: ipalib/plugins/internal.py:109 +msgid "Add Automount Key" +msgstr "" + +#: ipalib/plugins/internal.py:112 msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:107 +#: ipalib/plugins/internal.py:113 msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:108 +#: ipalib/plugins/internal.py:114 msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:109 +#: ipalib/plugins/internal.py:115 msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:110 +#: ipalib/plugins/internal.py:116 msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:111 +#: ipalib/plugins/internal.py:117 msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:112 +#: ipalib/plugins/internal.py:118 msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:113 +#: ipalib/plugins/internal.py:119 msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:114 +#: ipalib/plugins/internal.py:120 msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:115 +#: ipalib/plugins/internal.py:121 msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:116 +#: ipalib/plugins/internal.py:122 msgid "" "To confirm your intention to revoke this certificate, select a reason from " "the pull-down list, and click the \"Revoke\" button." msgstr "" -#: ipalib/plugins/internal.py:118 +#: ipalib/plugins/internal.py:124 msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:119 +#: ipalib/plugins/internal.py:125 msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:120 +#: ipalib/plugins/internal.py:126 msgid "" "To confirm your intention to restore this certificate, click the \"Restore\" " "button." msgstr "" -#: ipalib/plugins/internal.py:122 +#: ipalib/plugins/internal.py:128 msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:123 +#: ipalib/plugins/internal.py:129 msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:124 +#: ipalib/plugins/internal.py:130 msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:125 +#: ipalib/plugins/internal.py:131 msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:127 +#: ipalib/plugins/internal.py:133 msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:128 +#: ipalib/plugins/internal.py:134 msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:129 +#: ipalib/plugins/internal.py:135 msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:130 +#: ipalib/plugins/internal.py:136 msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:131 +#: ipalib/plugins/internal.py:137 msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:132 +#: ipalib/plugins/internal.py:138 msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:133 +#: ipalib/plugins/internal.py:139 msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:134 +#: ipalib/plugins/internal.py:140 msgid "Enter the Base64-encoded CSR below" msgstr "" -#: ipalib/plugins/internal.py:135 +#: ipalib/plugins/internal.py:141 msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:136 +#: ipalib/plugins/internal.py:142 msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:137 +#: ipalib/plugins/internal.py:143 msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:138 +#: ipalib/plugins/internal.py:144 msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:139 +#: ipalib/plugins/internal.py:145 msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:140 +#: ipalib/plugins/internal.py:146 msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:141 +#: ipalib/plugins/internal.py:147 msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:142 +#: ipalib/plugins/internal.py:148 msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:146 +#: ipalib/plugins/internal.py:152 msgid "Name" msgstr "" -#: ipalib/plugins/internal.py:149 +#: ipalib/plugins/internal.py:155 msgid "Add Delegation" msgstr "" -#: ipalib/plugins/internal.py:152 +#: ipalib/plugins/internal.py:158 msgid "Add DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:153 +#: ipalib/plugins/internal.py:159 msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:156 +#: ipalib/plugins/internal.py:162 msgid "Add DNS Resource Record" msgstr "" -#: ipalib/plugins/internal.py:157 +#: ipalib/plugins/internal.py:163 msgid "Resource" msgstr "" -#: ipalib/plugins/internal.py:159 +#: ipalib/plugins/internal.py:165 msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:160 +#: ipalib/plugins/internal.py:166 msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:163 -msgid "Add New Group" +#: ipalib/plugins/internal.py:169 +msgid "Add Group" msgstr "" -#: ipalib/plugins/internal.py:164 +#: ipalib/plugins/internal.py:170 msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:165 ipalib/plugins/internal.py:200 +#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:206 msgid "Is this a POSIX group?" msgstr "" -#: ipalib/plugins/internal.py:168 ipalib/plugins/internal.py:273 -msgid "Add New Rule" +#: ipalib/plugins/internal.py:174 +msgid "Add HBAC Rule" msgstr "" -#: ipalib/plugins/internal.py:169 ipalib/plugins/internal.py:274 -#: ipalib/plugins/internal.py:300 +#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:280 +#: ipalib/plugins/internal.py:306 msgid "Active" msgstr "" -#: ipalib/plugins/internal.py:170 ipalib/plugins/internal.py:276 +#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:282 msgid "Allow" msgstr "" -#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:277 +#: ipalib/plugins/internal.py:177 ipalib/plugins/internal.py:283 msgid "Deny" msgstr "" -#: ipalib/plugins/internal.py:172 ipalib/plugins/internal.py:275 -#: ipalib/plugins/internal.py:302 +#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:281 +#: ipalib/plugins/internal.py:308 msgid "Inactive" msgstr "" -#: ipalib/plugins/internal.py:173 ipalib/plugins/internal.py:290 +#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:296 msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:174 ipalib/plugins/internal.py:278 +#: ipalib/plugins/internal.py:180 ipalib/plugins/internal.py:284 msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:279 +#: ipalib/plugins/internal.py:181 ipalib/plugins/internal.py:285 msgid "Anyone" msgstr "" -#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:280 +#: ipalib/plugins/internal.py:182 ipalib/plugins/internal.py:286 msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipalib/plugins/internal.py:183 msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:282 +#: ipalib/plugins/internal.py:184 ipalib/plugins/internal.py:288 msgid "Any Host" msgstr "" -#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:283 +#: ipalib/plugins/internal.py:185 ipalib/plugins/internal.py:289 msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:180 +#: ipalib/plugins/internal.py:186 msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:181 +#: ipalib/plugins/internal.py:187 msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:182 +#: ipalib/plugins/internal.py:188 msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:183 +#: ipalib/plugins/internal.py:189 msgid "From" msgstr "" -#: ipalib/plugins/internal.py:186 -msgid "Add New HBAC Service" +#: ipalib/plugins/internal.py:192 +msgid "Add HBAC Service" msgstr "" -#: ipalib/plugins/internal.py:189 -msgid "Add New HBAC Service Group" +#: ipalib/plugins/internal.py:195 +msgid "Add HBAC Service Group" msgstr "" -#: ipalib/plugins/internal.py:193 -msgid "Add New Host" +#: ipalib/plugins/internal.py:199 +msgid "Add Host" msgstr "" -#: ipalib/plugins/internal.py:194 +#: ipalib/plugins/internal.py:200 msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:195 ipalib/plugins/internal.py:253 +#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:259 msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:196 +#: ipalib/plugins/internal.py:202 msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:197 +#: ipalib/plugins/internal.py:203 msgid "Enrolled?" msgstr "" -#: ipalib/plugins/internal.py:198 +#: ipalib/plugins/internal.py:204 msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:199 +#: ipalib/plugins/internal.py:205 msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:256 +#: ipalib/plugins/internal.py:207 ipalib/plugins/internal.py:262 msgid "Status" msgstr "" -#: ipalib/plugins/internal.py:202 +#: ipalib/plugins/internal.py:208 msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:203 ipalib/plugins/internal.py:258 +#: ipalib/plugins/internal.py:209 ipalib/plugins/internal.py:264 msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:204 ipalib/plugins/internal.py:259 +#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:265 msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:205 +#: ipalib/plugins/internal.py:211 msgid "Enroll via One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:206 +#: ipalib/plugins/internal.py:212 msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:207 +#: ipalib/plugins/internal.py:213 msgid "One-Time-Password has been set." msgstr "" -#: ipalib/plugins/internal.py:208 ipalib/plugins/internal.py:260 +#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:266 msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:209 +#: ipalib/plugins/internal.py:215 msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:262 +#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:268 msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:213 -msgid "Add Hostgroup" +#: ipalib/plugins/internal.py:219 +msgid "Add Host Group" msgstr "" -#: ipalib/plugins/internal.py:214 -msgid "Hostgroup Settings" +#: ipalib/plugins/internal.py:220 +msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:217 +#: ipalib/plugins/internal.py:223 msgid "Kerberos ticket policy" msgstr "" -#: ipalib/plugins/internal.py:220 +#: ipalib/plugins/internal.py:226 msgid "Add Netgroup" msgstr "" -#: ipalib/plugins/internal.py:221 +#: ipalib/plugins/internal.py:227 msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:224 +#: ipalib/plugins/internal.py:230 msgid "Add Permission" msgstr "" -#: ipalib/plugins/internal.py:225 ipalib/plugins/internal.py:362 +#: ipalib/plugins/internal.py:231 ipalib/plugins/internal.py:376 msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipalib/plugins/internal.py:233 msgid "Target" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipalib/plugins/internal.py:235 msgid "By Subtree" msgstr "" -#: ipalib/plugins/internal.py:230 +#: ipalib/plugins/internal.py:236 msgid "Target Group" msgstr "" -#: ipalib/plugins/internal.py:231 +#: ipalib/plugins/internal.py:237 msgid "Object By Type" msgstr "" -#: ipalib/plugins/internal.py:232 +#: ipalib/plugins/internal.py:238 msgid "Permission with invalid target specification" msgstr "" -#: ipalib/plugins/internal.py:235 +#: ipalib/plugins/internal.py:241 msgid "Add Privilege" msgstr "" -#: ipalib/plugins/internal.py:236 +#: ipalib/plugins/internal.py:242 msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:239 +#: ipalib/plugins/internal.py:245 msgid "Add Password Policy" msgstr "" -#: ipalib/plugins/internal.py:240 ipalib/plugins/pwpolicy.py:209 +#: ipalib/plugins/internal.py:246 ipalib/plugins/pwpolicy.py:219 msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:243 +#: ipalib/plugins/internal.py:249 msgid "Add Role" msgstr "" -#: ipalib/plugins/internal.py:244 +#: ipalib/plugins/internal.py:250 msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:247 +#: ipalib/plugins/internal.py:253 msgid "Add Self Service Definition" msgstr "" -#: ipalib/plugins/internal.py:250 -msgid "Add New Service" +#: ipalib/plugins/internal.py:256 +msgid "Add Service" msgstr "" -#: ipalib/plugins/internal.py:251 +#: ipalib/plugins/internal.py:257 msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:252 +#: ipalib/plugins/internal.py:258 msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:254 +#: ipalib/plugins/internal.py:260 msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:255 +#: ipalib/plugins/internal.py:261 msgid "Service" msgstr "" -#: ipalib/plugins/internal.py:257 +#: ipalib/plugins/internal.py:263 msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:261 +#: ipalib/plugins/internal.py:267 msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:265 -msgid "Add New Sudo Command" +#: ipalib/plugins/internal.py:271 +msgid "Add Sudo Command" msgstr "" -#: ipalib/plugins/internal.py:269 -msgid "Add New Sudo Command Group" +#: ipalib/plugins/internal.py:275 +msgid "Add Sudo Command Group" msgstr "" -#: ipalib/plugins/internal.py:270 ipalib/plugins/sudocmdgroup.py:80 +#: ipalib/plugins/internal.py:276 ipalib/plugins/sudocmdgroup.py:80 msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:281 +#: ipalib/plugins/internal.py:279 +msgid "Add Sudo Rule" +msgstr "" + +#: ipalib/plugins/internal.py:287 msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:284 +#: ipalib/plugins/internal.py:290 msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:285 +#: ipalib/plugins/internal.py:291 msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:286 +#: ipalib/plugins/internal.py:292 msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:287 +#: ipalib/plugins/internal.py:293 msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:288 +#: ipalib/plugins/internal.py:294 msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:289 +#: ipalib/plugins/internal.py:295 msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:291 +#: ipalib/plugins/internal.py:297 msgid "External" msgstr "" -#: ipalib/plugins/internal.py:294 +#: ipalib/plugins/internal.py:300 msgid "Add User" msgstr "" -#: ipalib/plugins/internal.py:295 +#: ipalib/plugins/internal.py:301 msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:296 +#: ipalib/plugins/internal.py:302 msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:297 +#: ipalib/plugins/internal.py:303 msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:298 +#: ipalib/plugins/internal.py:304 msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:299 +#: ipalib/plugins/internal.py:305 msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:301 +#: ipalib/plugins/internal.py:307 msgid "Click to Deactivate" msgstr "" -#: ipalib/plugins/internal.py:303 +#: ipalib/plugins/internal.py:309 msgid "Click to Activate" msgstr "" -#: ipalib/plugins/internal.py:304 +#: ipalib/plugins/internal.py:310 msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:305 +#: ipalib/plugins/internal.py:311 msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:306 +#: ipalib/plugins/internal.py:312 msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:307 +#: ipalib/plugins/internal.py:313 msgid "Repeat Password" msgstr "" -#: ipalib/plugins/internal.py:308 +#: ipalib/plugins/internal.py:314 msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:309 +#: ipalib/plugins/internal.py:315 msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:313 +#: ipalib/plugins/internal.py:319 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:314 +#: ipalib/plugins/internal.py:320 msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:315 +#: ipalib/plugins/internal.py:321 msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:316 +#: ipalib/plugins/internal.py:322 msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:317 +#: ipalib/plugins/internal.py:323 msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:318 +#: ipalib/plugins/internal.py:324 msgid "Back to List" msgstr "" -#: ipalib/plugins/internal.py:319 +#: ipalib/plugins/internal.py:325 msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:320 +#: ipalib/plugins/internal.py:326 msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:321 +#: ipalib/plugins/internal.py:327 msgid "Enroll" msgstr "" -#: ipalib/plugins/internal.py:322 +#: ipalib/plugins/internal.py:328 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:323 +#: ipalib/plugins/internal.py:329 msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:324 +#: ipalib/plugins/internal.py:330 msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:325 +#: ipalib/plugins/internal.py:331 msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:326 +#: ipalib/plugins/internal.py:332 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:327 +#: ipalib/plugins/internal.py:333 msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:328 +#: ipalib/plugins/internal.py:334 msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:329 +#: ipalib/plugins/internal.py:335 msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:330 +#: ipalib/plugins/internal.py:336 msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:331 +#: ipalib/plugins/internal.py:337 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:332 +#: ipalib/plugins/internal.py:338 msgid "View" msgstr "" -#: ipalib/plugins/internal.py:335 +#: ipalib/plugins/internal.py:341 msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:336 +#: ipalib/plugins/internal.py:342 msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:337 +#: ipalib/plugins/internal.py:343 msgid "Dirty" msgstr "" -#: ipalib/plugins/internal.py:338 +#: ipalib/plugins/internal.py:344 msgid "Hide already enrolled." msgstr "" -#: ipalib/plugins/internal.py:339 +#: ipalib/plugins/internal.py:345 msgid "Select ${entity} to be removed." msgstr "" -#: ipalib/plugins/internal.py:340 +#: ipalib/plugins/internal.py:346 msgid "Remove ${entity}." msgstr "" -#: ipalib/plugins/internal.py:341 +#: ipalib/plugins/internal.py:347 msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:344 -msgid "Search" +#: ipalib/plugins/internal.py:350 +msgid "Managed by" msgstr "" -#: ipalib/plugins/internal.py:345 +#: ipalib/plugins/internal.py:351 +msgid "Member" +msgstr "" + +#: ipalib/plugins/internal.py:352 +msgid "Indirect Member" +msgstr "" + +#: ipalib/plugins/internal.py:353 +msgid "Member Of" +msgstr "" + +#: ipalib/plugins/internal.py:354 +msgid "Indirect Member Of" +msgstr "" + +#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:359 msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:348 +#: ipalib/plugins/internal.py:358 +msgid "Search" +msgstr "" + +#: ipalib/plugins/internal.py:362 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:349 +#: ipalib/plugins/internal.py:363 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:350 +#: ipalib/plugins/internal.py:364 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:351 +#: ipalib/plugins/internal.py:365 msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:352 +#: ipalib/plugins/internal.py:366 msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:356 +#: ipalib/plugins/internal.py:370 msgid "General" msgstr "" -#: ipalib/plugins/internal.py:357 -msgid "${entity} Settings" +#: ipalib/plugins/internal.py:371 +msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:358 -msgid "Identity Settings" +#: ipalib/plugins/internal.py:372 +msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:359 +#: ipalib/plugins/internal.py:373 msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:363 +#: ipalib/plugins/internal.py:377 msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:364 +#: ipalib/plugins/internal.py:378 msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:365 +#: ipalib/plugins/internal.py:379 msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:366 ipalib/plugins/sudorule.py:68 +#: ipalib/plugins/internal.py:380 msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:368 +#: ipalib/plugins/internal.py:381 +msgid "Host Based Access Control" +msgstr "" + +#: ipalib/plugins/internal.py:382 msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:371 +#: ipalib/plugins/internal.py:383 +msgid "Automount" +msgstr "" + +#: ipalib/plugins/internal.py:386 msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:372 +#: ipalib/plugins/internal.py:387 msgid "${other_entity} enrolled in ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:373 +#: ipalib/plugins/internal.py:388 msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:374 +#: ipalib/plugins/internal.py:389 msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:377 +#: ipalib/plugins/internal.py:392 msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:380 +#: ipalib/plugins/internal.py:395 msgid "" "Your Kerberos ticket is no longer valid. Please run kinit and then click " "'Retry'. If this is your first time running the IPA Web UI <a href='/ipa/" @@ -4264,7 +4387,7 @@ msgid "" "browser." msgstr "" -#: ipalib/plugins/internal.py:384 +#: ipalib/plugins/internal.py:399 msgid "Dict of I18N messages" msgstr "" @@ -4420,49 +4543,49 @@ msgid "" " " msgstr "" -#: ipalib/plugins/krbtpolicy.py:78 +#: ipalib/plugins/krbtpolicy.py:79 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/krbtpolicy.py:83 ipalib/plugins/passwd.py:53 +#: ipalib/plugins/krbtpolicy.py:84 ipalib/plugins/passwd.py:53 msgid "User name" msgstr "" -#: ipalib/plugins/krbtpolicy.py:84 +#: ipalib/plugins/krbtpolicy.py:85 msgid "Manage ticket policy for specific user" msgstr "" -#: ipalib/plugins/krbtpolicy.py:89 +#: ipalib/plugins/krbtpolicy.py:90 msgid "Max life" msgstr "" -#: ipalib/plugins/krbtpolicy.py:90 +#: ipalib/plugins/krbtpolicy.py:91 msgid "Maximum ticket life (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:95 +#: ipalib/plugins/krbtpolicy.py:96 msgid "Max renew" msgstr "" -#: ipalib/plugins/krbtpolicy.py:96 +#: ipalib/plugins/krbtpolicy.py:97 msgid "Maximum renewable age (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:110 +#: ipalib/plugins/krbtpolicy.py:111 msgid "" "\n" " Modify Kerberos ticket policy.\n" " " msgstr "" -#: ipalib/plugins/krbtpolicy.py:124 +#: ipalib/plugins/krbtpolicy.py:125 msgid "" "\n" " Display the current Kerberos ticket policy.\n" " " msgstr "" -#: ipalib/plugins/krbtpolicy.py:148 +#: ipalib/plugins/krbtpolicy.py:149 msgid "" "\n" " Reset Kerberos ticket policy to the default values.\n" @@ -4531,110 +4654,110 @@ msgid "" " " msgstr "" -#: ipalib/plugins/migration.py:213 +#: ipalib/plugins/migration.py:220 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:218 +#: ipalib/plugins/migration.py:225 msgid "" "\n" " Migrate users and groups from DS to IPA.\n" " " msgstr "" -#: ipalib/plugins/migration.py:259 +#: ipalib/plugins/migration.py:266 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:260 +#: ipalib/plugins/migration.py:267 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:265 +#: ipalib/plugins/migration.py:272 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:272 +#: ipalib/plugins/migration.py:279 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:278 +#: ipalib/plugins/migration.py:285 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:279 +#: ipalib/plugins/migration.py:286 msgid "RDN of container for users in DS" msgstr "" -#: ipalib/plugins/migration.py:285 +#: ipalib/plugins/migration.py:292 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:286 +#: ipalib/plugins/migration.py:293 msgid "RDN of container for groups in DS" msgstr "" -#: ipalib/plugins/migration.py:292 +#: ipalib/plugins/migration.py:299 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:293 +#: ipalib/plugins/migration.py:300 msgid "" "Comma-separated list of objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:299 +#: ipalib/plugins/migration.py:306 msgid "Group object class" msgstr "" -#: ipalib/plugins/migration.py:300 +#: ipalib/plugins/migration.py:307 msgid "" "Comma-separated list of objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:306 +#: ipalib/plugins/migration.py:313 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:307 +#: ipalib/plugins/migration.py:314 msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:313 +#: ipalib/plugins/migration.py:320 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:321 +#: ipalib/plugins/migration.py:328 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:325 +#: ipalib/plugins/migration.py:332 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:329 +#: ipalib/plugins/migration.py:336 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:333 +#: ipalib/plugins/migration.py:340 msgid "comma-separated list of %s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:335 +#: ipalib/plugins/migration.py:342 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:340 +#: ipalib/plugins/migration.py:347 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:343 +#: ipalib/plugins/migration.py:350 msgid "" "Passwords have been migrated in pre-hashed format.\n" "IPA is unable to generate Kerberos keys unless provided\n" @@ -4643,7 +4766,7 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:351 +#: ipalib/plugins/migration.py:358 msgid "" "\n" " Call get_options of the baseclass and add \"exclude\" options\n" @@ -4651,7 +4774,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/migration.py:368 +#: ipalib/plugins/migration.py:375 msgid "" "\n" " Convert all \"exclude\" option values to lower-case.\n" @@ -4662,14 +4785,14 @@ msgid "" " " msgstr "" -#: ipalib/plugins/migration.py:392 +#: ipalib/plugins/migration.py:399 msgid "" "\n" " Migrate objects from DS to LDAP.\n" " " msgstr "" -#: ipalib/plugins/migration.py:418 +#: ipalib/plugins/migration.py:425 msgid "Container for %(container)s not found" msgstr "" @@ -4733,7 +4856,7 @@ msgid "" " Remove a member from the netgroup:\n" " ipa netgroup-remove-member --users=tuser2 admins\n" "\n" -" Display infromation about a netgroup:\n" +" Display information about a netgroup:\n" " ipa netgroup-show admins\n" "\n" " Delete a netgroup:\n" @@ -5038,14 +5161,14 @@ msgid "" " " msgstr "" -#: ipalib/plugins/permission.py:423 +#: ipalib/plugins/permission.py:428 msgid "" "\n" " Add members to a permission.\n" " " msgstr "" -#: ipalib/plugins/permission.py:432 +#: ipalib/plugins/permission.py:437 msgid "" "\n" " Remove members from a permission.\n" @@ -5251,7 +5374,7 @@ msgstr "" msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/pwpolicy.py:19 +#: ipalib/plugins/pwpolicy.py:20 msgid "" "\n" "Password policy\n" @@ -5297,105 +5420,105 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:70 +#: ipalib/plugins/pwpolicy.py:72 msgid "" "\n" " Class of Service object used for linking policies with groups\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:85 +#: ipalib/plugins/pwpolicy.py:87 msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:162 +#: ipalib/plugins/pwpolicy.py:172 msgid "" "\n" " Password Policy object\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:191 +#: ipalib/plugins/pwpolicy.py:201 msgid "Max failures" msgstr "" -#: ipalib/plugins/pwpolicy.py:192 +#: ipalib/plugins/pwpolicy.py:202 msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/pwpolicy.py:197 +#: ipalib/plugins/pwpolicy.py:207 msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/pwpolicy.py:198 +#: ipalib/plugins/pwpolicy.py:208 msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:203 +#: ipalib/plugins/pwpolicy.py:213 msgid "Lockout duration" msgstr "" -#: ipalib/plugins/pwpolicy.py:204 +#: ipalib/plugins/pwpolicy.py:214 msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:214 +#: ipalib/plugins/pwpolicy.py:224 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:215 +#: ipalib/plugins/pwpolicy.py:225 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:220 +#: ipalib/plugins/pwpolicy.py:230 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:221 +#: ipalib/plugins/pwpolicy.py:231 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:226 +#: ipalib/plugins/pwpolicy.py:236 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:227 +#: ipalib/plugins/pwpolicy.py:237 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:232 +#: ipalib/plugins/pwpolicy.py:242 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:233 +#: ipalib/plugins/pwpolicy.py:243 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:238 +#: ipalib/plugins/pwpolicy.py:248 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:239 +#: ipalib/plugins/pwpolicy.py:249 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:245 +#: ipalib/plugins/pwpolicy.py:255 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:246 +#: ipalib/plugins/pwpolicy.py:256 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:251 +#: ipalib/plugins/pwpolicy.py:261 msgid "Priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:252 +#: ipalib/plugins/pwpolicy.py:262 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:284 +#: ipalib/plugins/pwpolicy.py:294 msgid "" "\n" " Ensure that the maximum lifetime is greater than the minimum.\n" @@ -5403,51 +5526,51 @@ msgid "" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:304 +#: ipalib/plugins/pwpolicy.py:314 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:311 +#: ipalib/plugins/pwpolicy.py:333 msgid "" "\n" " Add a new group password policy.\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:340 +#: ipalib/plugins/pwpolicy.py:361 msgid "" "\n" " Delete a group password policy.\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:359 +#: ipalib/plugins/pwpolicy.py:380 msgid "" "\n" " Modify a group password policy.\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:369 +#: ipalib/plugins/pwpolicy.py:391 msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:401 +#: ipalib/plugins/pwpolicy.py:423 msgid "" "\n" " Display information about password policy.\n" " " msgstr "" -#: ipalib/plugins/pwpolicy.py:406 +#: ipalib/plugins/pwpolicy.py:428 msgid "User" msgstr "" -#: ipalib/plugins/pwpolicy.py:407 +#: ipalib/plugins/pwpolicy.py:429 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:442 +#: ipalib/plugins/pwpolicy.py:452 msgid "" "\n" " Search for group password policies.\n" @@ -5499,104 +5622,104 @@ msgid "" " " msgstr "" -#: ipalib/plugins/role.py:82 +#: ipalib/plugins/role.py:81 msgid "Role" msgstr "" -#: ipalib/plugins/role.py:87 +#: ipalib/plugins/role.py:86 msgid "Role name" msgstr "" -#: ipalib/plugins/role.py:94 +#: ipalib/plugins/role.py:93 msgid "A description of this role-group" msgstr "" -#: ipalib/plugins/role.py:102 +#: ipalib/plugins/role.py:101 msgid "" "\n" " Add a new role.\n" " " msgstr "" -#: ipalib/plugins/role.py:106 +#: ipalib/plugins/role.py:105 msgid "Added role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:112 +#: ipalib/plugins/role.py:111 msgid "" "\n" " Delete a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:116 +#: ipalib/plugins/role.py:115 msgid "Deleted role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:122 +#: ipalib/plugins/role.py:121 msgid "" "\n" " Modify a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:126 +#: ipalib/plugins/role.py:125 msgid "Modified role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:132 +#: ipalib/plugins/role.py:131 msgid "" "\n" " Search for roles.\n" " " msgstr "" -#: ipalib/plugins/role.py:136 +#: ipalib/plugins/role.py:135 msgid "%(count)d role matched" msgid_plural "%(count)d roles matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/role.py:144 +#: ipalib/plugins/role.py:143 msgid "" "\n" " Display information about a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:152 +#: ipalib/plugins/role.py:151 msgid "" "\n" " Add members to a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:160 +#: ipalib/plugins/role.py:159 msgid "" "\n" " Remove members from a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:168 +#: ipalib/plugins/role.py:167 msgid "" "\n" " Add privileges to a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:184 +#: ipalib/plugins/role.py:183 msgid "Number of privileges added" msgstr "" -#: ipalib/plugins/role.py:192 +#: ipalib/plugins/role.py:191 msgid "" "\n" " Remove privileges from a role.\n" " " msgstr "" -#: ipalib/plugins/role.py:208 +#: ipalib/plugins/role.py:207 msgid "Number of privileges removed" msgstr "" @@ -5777,16 +5900,6 @@ msgstr "" #: ipalib/plugins/service.py:175 msgid "" "\n" -" Incoming certificates should be DER-encoded.\n" -"\n" -" Note that this can't be a normalizer on the Param because only unicode\n" -" variables are normalized.\n" -" " -msgstr "" - -#: ipalib/plugins/service.py:210 -msgid "" -"\n" " Set individual attributes from some values from a certificate.\n" "\n" " entry_attrs is a dict of an entry\n" @@ -5795,123 +5908,96 @@ msgid "" " " msgstr "" -#: ipalib/plugins/service.py:234 -msgid "" -"\n" -" Determine if the file is writable. If the file doesn't exist then\n" -" open the file to test writability.\n" -" " -msgstr "" - -#: ipalib/plugins/service.py:243 -msgid "Permission denied: %(file)s" -msgstr "" - -#: ipalib/plugins/service.py:251 -msgid "" -"\n" -" Convert a raw base64-encoded blob into something that looks like a PE\n" -" file with lines split to 64 characters and proper headers.\n" -" " -msgstr "" - -#: ipalib/plugins/service.py:261 -msgid "" -"\n" -" Check to see if the certificate should be written to a file and do so.\n" -" " -msgstr "" - -#: ipalib/plugins/service.py:278 +#: ipalib/plugins/service.py:199 msgid "" "\n" " Service object.\n" " " msgstr "" -#: ipalib/plugins/service.py:305 +#: ipalib/plugins/service.py:226 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:321 +#: ipalib/plugins/service.py:242 msgid "" "\n" " Add a new IPA new service.\n" " " msgstr "" -#: ipalib/plugins/service.py:324 +#: ipalib/plugins/service.py:245 msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:330 +#: ipalib/plugins/service.py:251 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:361 +#: ipalib/plugins/service.py:284 msgid "" "\n" " Delete an IPA service.\n" " " msgstr "" -#: ipalib/plugins/service.py:364 +#: ipalib/plugins/service.py:287 msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:398 +#: ipalib/plugins/service.py:321 msgid "" "\n" " Modify an existing IPA service.\n" " " msgstr "" -#: ipalib/plugins/service.py:401 +#: ipalib/plugins/service.py:324 msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:431 +#: ipalib/plugins/service.py:356 msgid "" "\n" " Search for IPA services.\n" " " msgstr "" -#: ipalib/plugins/service.py:434 +#: ipalib/plugins/service.py:359 msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:469 +#: ipalib/plugins/service.py:394 msgid "" "\n" " Display information about an IPA service.\n" " " msgstr "" -#: ipalib/plugins/service.py:507 +#: ipalib/plugins/service.py:432 msgid "" "\n" " Add hosts that can manage this service.\n" " " msgstr "" -#: ipalib/plugins/service.py:517 +#: ipalib/plugins/service.py:442 msgid "" "\n" " Remove hosts that can manage this service.\n" " " msgstr "" -#: ipalib/plugins/service.py:527 +#: ipalib/plugins/service.py:452 msgid "" "\n" " Disable the Kerberos key and SSL certificate of a service.\n" " " msgstr "" -#: ipalib/plugins/service.py:531 +#: ipalib/plugins/service.py:456 msgid "Disabled service \"%(value)s\"" msgstr "" @@ -5924,7 +6010,7 @@ msgid "" "\n" "EXAMPLES:\n" "\n" -" Create a new commnad\n" +" Create a new command\n" " ipa sudocmd-add --desc='For reading log files' /usr/bin/less\n" "\n" " Remove a command\n" @@ -6134,6 +6220,10 @@ msgid "" " " msgstr "" +#: ipalib/plugins/sudorule.py:68 +msgid "Sudo Rule" +msgstr "" + #: ipalib/plugins/sudorule.py:98 msgid "Command category" msgstr "" @@ -6233,7 +6323,7 @@ msgstr "" #: ipalib/plugins/sudorule.py:213 msgid "" "\n" -" Dispaly Sudo Rule.\n" +" Display Sudo Rule.\n" " " msgstr "" @@ -6381,213 +6471,235 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:74 +#: ipalib/plugins/user.py:79 msgid "" "\n" " User object.\n" " " msgstr "" -#: ipalib/plugins/user.py:105 +#: ipalib/plugins/user.py:116 msgid "User login" msgstr "" -#: ipalib/plugins/user.py:112 +#: ipalib/plugins/user.py:123 msgid "First name" msgstr "" -#: ipalib/plugins/user.py:116 +#: ipalib/plugins/user.py:127 msgid "Last name" msgstr "" -#: ipalib/plugins/user.py:119 +#: ipalib/plugins/user.py:130 msgid "Full name" msgstr "" -#: ipalib/plugins/user.py:124 +#: ipalib/plugins/user.py:135 msgid "Display name" msgstr "" -#: ipalib/plugins/user.py:129 +#: ipalib/plugins/user.py:140 msgid "Initials" msgstr "" -#: ipalib/plugins/user.py:135 +#: ipalib/plugins/user.py:146 msgid "Home directory" msgstr "" -#: ipalib/plugins/user.py:139 +#: ipalib/plugins/user.py:150 msgid "GECOS field" msgstr "" -#: ipalib/plugins/user.py:145 +#: ipalib/plugins/user.py:156 msgid "Login shell" msgstr "" -#: ipalib/plugins/user.py:150 +#: ipalib/plugins/user.py:161 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:157 +#: ipalib/plugins/user.py:168 msgid "Email address" msgstr "" -#: ipalib/plugins/user.py:162 +#: ipalib/plugins/user.py:173 msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/user.py:169 +#: ipalib/plugins/user.py:180 msgid "UID" msgstr "" -#: ipalib/plugins/user.py:170 +#: ipalib/plugins/user.py:181 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/user.py:177 +#: ipalib/plugins/user.py:188 msgid "Group ID Number" msgstr "" -#: ipalib/plugins/user.py:182 +#: ipalib/plugins/user.py:193 msgid "Street address" msgstr "" -#: ipalib/plugins/user.py:186 +#: ipalib/plugins/user.py:197 msgid "City" msgstr "" -#: ipalib/plugins/user.py:190 +#: ipalib/plugins/user.py:201 msgid "State/Province" msgstr "" -#: ipalib/plugins/user.py:193 +#: ipalib/plugins/user.py:204 msgid "ZIP" msgstr "" -#: ipalib/plugins/user.py:197 +#: ipalib/plugins/user.py:208 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/user.py:200 +#: ipalib/plugins/user.py:211 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/user.py:203 +#: ipalib/plugins/user.py:214 msgid "Pager Number" msgstr "" -#: ipalib/plugins/user.py:207 +#: ipalib/plugins/user.py:218 msgid "Fax Number" msgstr "" -#: ipalib/plugins/user.py:211 +#: ipalib/plugins/user.py:222 msgid "Org. Unit" msgstr "" -#: ipalib/plugins/user.py:214 +#: ipalib/plugins/user.py:225 msgid "Job Title" msgstr "" -#: ipalib/plugins/user.py:217 +#: ipalib/plugins/user.py:228 msgid "Manager" msgstr "" -#: ipalib/plugins/user.py:220 +#: ipalib/plugins/user.py:231 msgid "Car License" msgstr "" -#: ipalib/plugins/user.py:223 +#: ipalib/plugins/user.py:234 msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:250 +#: ipalib/plugins/user.py:258 +msgid "" +"\n" +" Given a userid verify the user's existence and return the dn.\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:276 +msgid "manager %(manager)s not found" +msgstr "" + +#: ipalib/plugins/user.py:281 +msgid "" +"\n" +" Convert a manager dn into a userid\n" +" " +msgstr "" + +#: ipalib/plugins/user.py:295 msgid "" "\n" " Add a new user.\n" " " msgstr "" -#: ipalib/plugins/user.py:254 +#: ipalib/plugins/user.py:298 msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:275 +#: ipalib/plugins/user.py:303 +msgid "Don't create user private group" +msgstr "" + +#: ipalib/plugins/user.py:333 msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/user.py:324 +#: ipalib/plugins/user.py:400 msgid "" "\n" " Delete a user.\n" " " msgstr "" -#: ipalib/plugins/user.py:328 +#: ipalib/plugins/user.py:404 msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:337 +#: ipalib/plugins/user.py:413 msgid "" "\n" " Modify a user.\n" " " msgstr "" -#: ipalib/plugins/user.py:341 +#: ipalib/plugins/user.py:417 msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:358 +#: ipalib/plugins/user.py:437 msgid "" "\n" " Search for users.\n" " " msgstr "" -#: ipalib/plugins/user.py:365 +#: ipalib/plugins/user.py:444 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:366 +#: ipalib/plugins/user.py:445 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:383 +#: ipalib/plugins/user.py:463 msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/user.py:391 +#: ipalib/plugins/user.py:471 msgid "" "\n" " Display information about a user.\n" " " msgstr "" -#: ipalib/plugins/user.py:403 +#: ipalib/plugins/user.py:484 msgid "" "\n" " Disable a user account.\n" " " msgstr "" -#: ipalib/plugins/user.py:408 +#: ipalib/plugins/user.py:489 msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:426 +#: ipalib/plugins/user.py:507 msgid "" "\n" " Enable a user account.\n" " " msgstr "" -#: ipalib/plugins/user.py:431 +#: ipalib/plugins/user.py:512 msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:448 +#: ipalib/plugins/user.py:529 msgid "" "\n" " Unlock a user account\n" @@ -6600,7 +6712,7 @@ msgid "" " " msgstr "" -#: ipalib/plugins/user.py:457 +#: ipalib/plugins/user.py:538 msgid "Unlocked account \"%(value)s\"" msgstr "" @@ -6643,338 +6755,338 @@ msgid "" "XML-RPC client plugin.\n" msgstr "" -#: ipalib/cli.py:539 +#: ipalib/cli.py:581 #, python-format msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/cli.py:543 ipa-client/ipa-getkeytab.c:751 +#: ipalib/cli.py:585 ipa-client/ipa-getkeytab.c:751 #, c-format msgid "Passwords do not match!" msgstr "" -#: ipalib/cli.py:548 +#: ipalib/cli.py:590 msgid "Cancelled." msgstr "" -#: ipalib/cli.py:777 +#: ipalib/cli.py:819 msgid "Command name" msgstr "" -#: ipalib/cli.py:1066 +#: ipalib/cli.py:1117 msgid "No file to read" msgstr "" -#: ipalib/errors.py:297 +#: ipalib/errors.py:300 #, python-format msgid "%(cver)s client incompatible with %(sver)s server at %(server)r" msgstr "" -#: ipalib/errors.py:315 +#: ipalib/errors.py:318 #, python-format msgid "unknown error %(code)d from %(server)s: %(error)s" msgstr "" -#: ipalib/errors.py:331 +#: ipalib/errors.py:334 msgid "an internal error has occurred" msgstr "" -#: ipalib/errors.py:353 +#: ipalib/errors.py:356 #, python-format msgid "an internal error has occurred on server at %(server)r" msgstr "" -#: ipalib/errors.py:369 +#: ipalib/errors.py:372 #, python-format msgid "unknown command %(name)r" msgstr "" -#: ipalib/errors.py:386 ipalib/errors.py:411 +#: ipalib/errors.py:389 ipalib/errors.py:414 #, python-format msgid "error on server %(server)r: %(error)s" msgstr "" -#: ipalib/errors.py:402 +#: ipalib/errors.py:405 #, python-format msgid "cannot connect to %(uri)r: %(error)s" msgstr "" -#: ipalib/errors.py:420 +#: ipalib/errors.py:423 #, python-format msgid "Invalid JSON-RPC request: %(error)s" msgstr "" -#: ipalib/errors.py:436 +#: ipalib/errors.py:439 #, python-format msgid "error marshalling data for XML-RPC transport: %(error)s" msgstr "" -#: ipalib/errors.py:462 +#: ipalib/errors.py:465 #, python-format msgid "Kerberos error: %(major)s/%(minor)s" msgstr "" -#: ipalib/errors.py:479 +#: ipalib/errors.py:482 msgid "did not receive Kerberos credentials" msgstr "" -#: ipalib/errors.py:495 +#: ipalib/errors.py:498 #, python-format msgid "Service %(service)r not found in Kerberos database" msgstr "" -#: ipalib/errors.py:511 +#: ipalib/errors.py:514 msgid "No credentials cache found" msgstr "" -#: ipalib/errors.py:527 +#: ipalib/errors.py:530 msgid "Ticket expired" msgstr "" -#: ipalib/errors.py:543 +#: ipalib/errors.py:546 msgid "Credentials cache permissions incorrect" msgstr "" -#: ipalib/errors.py:559 +#: ipalib/errors.py:562 msgid "Bad format in credentials cache" msgstr "" -#: ipalib/errors.py:575 +#: ipalib/errors.py:578 msgid "Cannot resolve KDC for requested realm" msgstr "" -#: ipalib/errors.py:594 +#: ipalib/errors.py:597 #, python-format msgid "Insufficient access: %(info)s" msgstr "" -#: ipalib/errors.py:638 +#: ipalib/errors.py:641 #, python-format msgid "command %(name)r takes no arguments" msgstr "" -#: ipalib/errors.py:658 +#: ipalib/errors.py:661 #, python-format msgid "command %(name)r takes at most %(count)d argument" msgid_plural "command %(name)r takes at most %(count)d arguments" msgstr[0] "" msgstr[1] "" -#: ipalib/errors.py:688 +#: ipalib/errors.py:691 #, python-format msgid "overlapping arguments and options: %(names)r" msgstr "" -#: ipalib/errors.py:704 +#: ipalib/errors.py:707 #, python-format msgid "%(name)r is required" msgstr "" -#: ipalib/errors.py:720 ipalib/errors.py:736 +#: ipalib/errors.py:723 ipalib/errors.py:739 #, python-format msgid "invalid %(name)r: %(error)s" msgstr "" -#: ipalib/errors.py:752 +#: ipalib/errors.py:755 #, python-format msgid "api has no such namespace: %(name)r" msgstr "" -#: ipalib/errors.py:761 +#: ipalib/errors.py:764 msgid "Passwords do not match" msgstr "" -#: ipalib/errors.py:770 +#: ipalib/errors.py:773 msgid "Command not implemented" msgstr "" -#: ipalib/errors.py:779 +#: ipalib/errors.py:782 msgid "Client is not configured. Run ipa-client-install." msgstr "" -#: ipalib/errors.py:807 ipalib/errors.py:1047 ipalib/errors.py:1141 -#: ipalib/errors.py:1421 ipalib/errors.py:1438 +#: ipalib/errors.py:810 ipalib/errors.py:1050 ipalib/errors.py:1144 +#: ipalib/errors.py:1424 ipalib/errors.py:1441 #, python-format msgid "%(reason)s" msgstr "" -#: ipalib/errors.py:823 +#: ipalib/errors.py:826 msgid "This entry already exists" msgstr "" -#: ipalib/errors.py:839 +#: ipalib/errors.py:842 msgid "You must enroll a host in order to create a host service" msgstr "" -#: ipalib/errors.py:855 +#: ipalib/errors.py:858 #, python-format msgid "" "Service principal is not of the form: service/fully-qualified host name: " "%(reason)s" msgstr "" -#: ipalib/errors.py:871 +#: ipalib/errors.py:874 msgid "" "The realm for the principal does not match the realm for this IPA server" msgstr "" -#: ipalib/errors.py:887 +#: ipalib/errors.py:890 msgid "This command requires root access" msgstr "" -#: ipalib/errors.py:903 +#: ipalib/errors.py:906 msgid "This is already a posix group" msgstr "" -#: ipalib/errors.py:919 +#: ipalib/errors.py:922 #, python-format msgid "Principal is not of the form user@REALM: %(principal)r" msgstr "" -#: ipalib/errors.py:935 +#: ipalib/errors.py:938 msgid "This entry is already enabled" msgstr "" -#: ipalib/errors.py:951 +#: ipalib/errors.py:954 msgid "This entry is already disabled" msgstr "" -#: ipalib/errors.py:967 +#: ipalib/errors.py:970 msgid "This entry cannot be enabled or disabled" msgstr "" -#: ipalib/errors.py:983 +#: ipalib/errors.py:986 msgid "This entry is not a member" msgstr "" -#: ipalib/errors.py:999 +#: ipalib/errors.py:1002 msgid "A group may not be a member of itself" msgstr "" -#: ipalib/errors.py:1015 +#: ipalib/errors.py:1018 msgid "This entry is already a member" msgstr "" -#: ipalib/errors.py:1031 +#: ipalib/errors.py:1034 #, python-format msgid "Base64 decoding failed: %(reason)s" msgstr "" -#: ipalib/errors.py:1063 +#: ipalib/errors.py:1066 msgid "A group may not be added as a member of itself" msgstr "" -#: ipalib/errors.py:1079 +#: ipalib/errors.py:1082 msgid "The default users group cannot be removed" msgstr "" -#: ipalib/errors.py:1095 +#: ipalib/errors.py:1098 msgid "Host does not have corresponding DNS A record" msgstr "" -#: ipalib/errors.py:1110 +#: ipalib/errors.py:1113 msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" -#: ipalib/errors.py:1125 +#: ipalib/errors.py:1128 msgid "A managed group cannot have a password policy." msgstr "" -#: ipalib/errors.py:1157 +#: ipalib/errors.py:1160 #, python-format msgid "'%(entry)s' doesn't have a certificate." msgstr "" -#: ipalib/errors.py:1173 +#: ipalib/errors.py:1176 #, python-format msgid "Unable to create private group. A group '%(group)s' already exists." msgstr "" -#: ipalib/errors.py:1189 +#: ipalib/errors.py:1192 #, python-format msgid "" "A problem was encountered when verifying that all members were %(verb)s: " "%(exc)s" msgstr "" -#: ipalib/errors.py:1213 +#: ipalib/errors.py:1216 #, python-format msgid "no command nor help topic %(topic)r" msgstr "" -#: ipalib/errors.py:1237 +#: ipalib/errors.py:1240 msgid "change collided with another change" msgstr "" -#: ipalib/errors.py:1253 +#: ipalib/errors.py:1256 msgid "no modifications to be performed" msgstr "" -#: ipalib/errors.py:1269 +#: ipalib/errors.py:1272 #, python-format msgid "%(desc)s: %(info)s" msgstr "" -#: ipalib/errors.py:1285 +#: ipalib/errors.py:1288 msgid "limits exceeded for this query" msgstr "" -#: ipalib/errors.py:1300 +#: ipalib/errors.py:1303 #, python-format msgid "%(info)s" msgstr "" -#: ipalib/errors.py:1315 +#: ipalib/errors.py:1318 msgid "modifying primary key is not allowed" msgstr "" -#: ipalib/errors.py:1331 +#: ipalib/errors.py:1334 #, python-format msgid "%(attr)s: Only one value allowed." msgstr "" -#: ipalib/errors.py:1347 +#: ipalib/errors.py:1350 #, python-format msgid "%(attr)s: Invalid syntax." msgstr "" -#: ipalib/errors.py:1363 +#: ipalib/errors.py:1366 #, python-format msgid "Bad search filter %(info)s" msgstr "" -#: ipalib/errors.py:1388 +#: ipalib/errors.py:1391 #, python-format msgid "Certificate operation cannot be completed: %(error)s" msgstr "" -#: ipalib/errors.py:1404 +#: ipalib/errors.py:1407 #, python-format msgid "Certificate format error: %(error)s" msgstr "" -#: ipalib/errors.py:1455 +#: ipalib/errors.py:1458 msgid "Already registered" msgstr "" -#: ipalib/errors.py:1471 +#: ipalib/errors.py:1474 msgid "Not registered yet" msgstr "" -#: ipalib/frontend.py:399 +#: ipalib/frontend.py:398 msgid "Results are truncated, try a more specific search" msgstr "" -#: ipalib/frontend.py:851 +#: ipalib/frontend.py:850 msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/frontend.py:857 +#: ipalib/frontend.py:856 msgid "Print entries as stored on the server. Only affects output format." msgstr "" -#: ipalib/frontend.py:986 +#: ipalib/frontend.py:985 msgid "Forward to server instead of running locally" msgstr "" @@ -7006,83 +7118,93 @@ msgstr "" msgid "must be an integer" msgstr "" -#: ipalib/parameters.py:1053 +#: ipalib/parameters.py:1054 #, python-format msgid "must be at least %(minvalue)d" msgstr "" -#: ipalib/parameters.py:1063 +#: ipalib/parameters.py:1064 #, python-format msgid "can be at most %(maxvalue)d" msgstr "" -#: ipalib/parameters.py:1073 +#: ipalib/parameters.py:1074 msgid "must be a decimal number" msgstr "" -#: ipalib/parameters.py:1095 +#: ipalib/parameters.py:1097 #, python-format msgid "must be at least %(minvalue)f" msgstr "" -#: ipalib/parameters.py:1105 +#: ipalib/parameters.py:1107 #, python-format msgid "can be at most %(maxvalue)f" msgstr "" -#: ipalib/parameters.py:1169 +#: ipalib/parameters.py:1174 #, python-format msgid "must match pattern \"%(pattern)s\"" msgstr "" -#: ipalib/parameters.py:1187 +#: ipalib/parameters.py:1192 msgid "must be binary data" msgstr "" -#: ipalib/parameters.py:1203 +#: ipalib/parameters.py:1208 #, python-format msgid "must be at least %(minlength)d bytes" msgstr "" -#: ipalib/parameters.py:1213 +#: ipalib/parameters.py:1218 #, python-format msgid "can be at most %(maxlength)d bytes" msgstr "" -#: ipalib/parameters.py:1223 +#: ipalib/parameters.py:1228 #, python-format msgid "must be exactly %(length)d bytes" msgstr "" -#: ipalib/parameters.py:1241 +#: ipalib/parameters.py:1246 msgid "must be Unicode text" msgstr "" -#: ipalib/parameters.py:1272 +#: ipalib/parameters.py:1277 #, python-format msgid "must be at least %(minlength)d characters" msgstr "" -#: ipalib/parameters.py:1282 +#: ipalib/parameters.py:1287 #, python-format msgid "can be at most %(maxlength)d characters" msgstr "" -#: ipalib/parameters.py:1292 +#: ipalib/parameters.py:1297 #, python-format msgid "must be exactly %(length)d characters" msgstr "" -#: ipalib/parameters.py:1310 +#: ipalib/parameters.py:1315 #, python-format msgid "The character '%(char)r' is not allowed." msgstr "" -#: ipalib/parameters.py:1350 +#: ipalib/parameters.py:1355 #, python-format msgid "must be one of %(values)r" msgstr "" +#: ipalib/util.py:200 +#, python-format +msgid "Permission denied: %(file)s" +msgstr "" + +#: ipalib/x509.py:174 +#, python-format +msgid "Issuer \"%(issuer)s\" does not match the expected issuer" +msgstr "" + #: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398 #: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541 #: ipaserver/plugins/dogtag.py:1600 @@ -7140,13 +7262,18 @@ msgstr "" msgid "cannot stat() configuration file %s\n" msgstr "" -#: ipa-client/config.c:75 +#: ipa-client/config.c:68 +#, c-format +msgid "out of memory\n" +msgstr "" + +#: ipa-client/config.c:79 #, c-format msgid "read error\n" msgstr "" #: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:821 -#: ipa-client/ipa-rmkeytab.c:182 +#: ipa-client/ipa-rmkeytab.c:190 #, c-format msgid "Kerberos context initialization failed\n" msgstr "" @@ -7193,9 +7320,9 @@ msgid "Failed to create key!\n" msgstr "" #: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360 -#: ipa-client/ipa-join.c:413 ipa-client/ipa-join.c:422 -#: ipa-client/ipa-join.c:559 ipa-client/ipa-join.c:747 -#: ipa-client/ipa-join.c:815 +#: ipa-client/ipa-join.c:417 ipa-client/ipa-join.c:426 +#: ipa-client/ipa-join.c:563 ipa-client/ipa-join.c:751 +#: ipa-client/ipa-join.c:819 #, c-format msgid "Out of memory!\n" msgstr "" @@ -7290,19 +7417,19 @@ msgstr "" msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:781 ipa-client/ipa-rmkeytab.c:163 +#: ipa-client/ipa-getkeytab.c:781 ipa-client/ipa-rmkeytab.c:171 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:782 ipa-client/ipa-rmkeytab.c:164 +#: ipa-client/ipa-getkeytab.c:782 ipa-client/ipa-rmkeytab.c:172 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:166 +#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:174 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:166 +#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:174 msgid "Keytab File Name" msgstr "" @@ -7419,330 +7546,335 @@ msgstr "" msgid "access() on %s failed: errno = %d\n" msgstr "" -#: ipa-client/ipa-join.c:193 +#: ipa-client/ipa-join.c:143 ipa-client/ipa-join.c:197 #, c-format msgid "Out of memory!" msgstr "" -#: ipa-client/ipa-join.c:200 +#: ipa-client/ipa-join.c:204 #, c-format msgid "Unable to initialize connection to ldap server: %s" msgstr "" -#: ipa-client/ipa-join.c:206 +#: ipa-client/ipa-join.c:210 #, c-format msgid "Unable to enable SSL in LDAP\n" msgstr "" -#: ipa-client/ipa-join.c:212 +#: ipa-client/ipa-join.c:216 #, c-format msgid "Unable to set LDAP version\n" msgstr "" -#: ipa-client/ipa-join.c:232 +#: ipa-client/ipa-join.c:236 #, c-format msgid "Bind failed: %s\n" msgstr "" -#: ipa-client/ipa-join.c:265 +#: ipa-client/ipa-join.c:269 #, c-format msgid "Search for %s on rootdse failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:275 ipa-client/ipa-join.c:327 +#: ipa-client/ipa-join.c:279 ipa-client/ipa-join.c:331 #, c-format msgid "No values for %s" msgstr "" -#: ipa-client/ipa-join.c:318 +#: ipa-client/ipa-join.c:322 #, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:386 +#: ipa-client/ipa-join.c:390 #, c-format msgid "Unable to determine root DN of %s\n" msgstr "" -#: ipa-client/ipa-join.c:395 +#: ipa-client/ipa-join.c:399 #, c-format msgid "Unable to determine certificate subject of %s\n" msgstr "" -#: ipa-client/ipa-join.c:403 +#: ipa-client/ipa-join.c:407 #, c-format msgid "Unable to make an LDAP connection to %s\n" msgstr "" -#: ipa-client/ipa-join.c:428 +#: ipa-client/ipa-join.c:432 #, c-format msgid "Searching with %s in %s\n" msgstr "" -#: ipa-client/ipa-join.c:434 +#: ipa-client/ipa-join.c:438 #, c-format msgid "ldap_search_ext_s: %s\n" msgstr "" -#: ipa-client/ipa-join.c:442 +#: ipa-client/ipa-join.c:446 #, c-format msgid "Unable to find host '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:449 +#: ipa-client/ipa-join.c:453 #, c-format msgid "Unable to get binddn for host '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:462 +#: ipa-client/ipa-join.c:466 #, c-format msgid "Host already has principal, trying bind anyway\n" msgstr "" -#: ipa-client/ipa-join.c:476 ipa-client/ipa-join.c:629 +#: ipa-client/ipa-join.c:480 ipa-client/ipa-join.c:633 #, c-format msgid "Host is already joined.\n" msgstr "" -#: ipa-client/ipa-join.c:480 +#: ipa-client/ipa-join.c:484 #, c-format msgid "Incorrect password.\n" msgstr "" -#: ipa-client/ipa-join.c:491 +#: ipa-client/ipa-join.c:495 #, c-format msgid "principal not found in host entry\n" msgstr "" -#: ipa-client/ipa-join.c:614 +#: ipa-client/ipa-join.c:618 #, c-format msgid "principal not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:695 ipa-client/ipa-join.c:896 +#: ipa-client/ipa-join.c:699 ipa-client/ipa-join.c:900 #, c-format msgid "Unable to determine IPA server from %s\n" msgstr "" -#: ipa-client/ipa-join.c:711 ipa-client/ipa-join.c:911 +#: ipa-client/ipa-join.c:715 ipa-client/ipa-join.c:915 #, c-format msgid "The hostname must be fully-qualified: %s\n" msgstr "" -#: ipa-client/ipa-join.c:720 ipa-client/ipa-join.c:921 +#: ipa-client/ipa-join.c:724 ipa-client/ipa-join.c:925 #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-join.c:728 +#: ipa-client/ipa-join.c:732 #, c-format msgid "Error resolving keytab: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:737 +#: ipa-client/ipa-join.c:741 #, c-format msgid "Error getting default Kerberos realm: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:755 +#: ipa-client/ipa-join.c:759 #, c-format msgid "Error parsing \"%s\": %s.\n" msgstr "" -#: ipa-client/ipa-join.c:773 +#: ipa-client/ipa-join.c:777 #, c-format msgid "Error obtaining initial credentials: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:784 +#: ipa-client/ipa-join.c:788 #, c-format msgid "Unable to generate Kerberos Credential Cache\n" msgstr "" -#: ipa-client/ipa-join.c:792 +#: ipa-client/ipa-join.c:796 #, c-format msgid "Error storing creds in credential cache: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:842 +#: ipa-client/ipa-join.c:846 #, c-format msgid "Unenrollment successful.\n" msgstr "" -#: ipa-client/ipa-join.c:845 +#: ipa-client/ipa-join.c:849 #, c-format msgid "Unenrollment failed.\n" msgstr "" -#: ipa-client/ipa-join.c:850 +#: ipa-client/ipa-join.c:854 #, c-format msgid "result not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:928 +#: ipa-client/ipa-join.c:932 #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" msgstr "" -#: ipa-client/ipa-join.c:936 +#: ipa-client/ipa-join.c:940 #, c-format msgid "" "Unable to join host: Kerberos User Principal not found and host password not " "provided.\n" msgstr "" -#: ipa-client/ipa-join.c:950 +#: ipa-client/ipa-join.c:954 #, c-format msgid "fork() failed\n" msgstr "" -#: ipa-client/ipa-join.c:979 +#: ipa-client/ipa-join.c:983 #, c-format msgid "ipa-getkeytab not found\n" msgstr "" -#: ipa-client/ipa-join.c:982 +#: ipa-client/ipa-join.c:986 #, c-format msgid "ipa-getkeytab has bad permissions?\n" msgstr "" -#: ipa-client/ipa-join.c:985 +#: ipa-client/ipa-join.c:989 #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" msgstr "" -#: ipa-client/ipa-join.c:997 +#: ipa-client/ipa-join.c:1001 #, c-format msgid "child exited with %d\n" msgstr "" -#: ipa-client/ipa-join.c:1003 +#: ipa-client/ipa-join.c:1007 #, c-format msgid "Certificate subject base is: %s\n" msgstr "" -#: ipa-client/ipa-join.c:1038 +#: ipa-client/ipa-join.c:1042 msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "" -#: ipa-client/ipa-join.c:1040 +#: ipa-client/ipa-join.c:1044 msgid "Quiet mode. Only errors are displayed." msgstr "" -#: ipa-client/ipa-join.c:1042 +#: ipa-client/ipa-join.c:1046 msgid "Unenroll this host from IPA server" msgstr "" -#: ipa-client/ipa-join.c:1044 +#: ipa-client/ipa-join.c:1048 msgid "Hostname of this server" msgstr "" -#: ipa-client/ipa-join.c:1044 ipa-client/ipa-join.c:1046 +#: ipa-client/ipa-join.c:1048 ipa-client/ipa-join.c:1050 msgid "hostname" msgstr "" -#: ipa-client/ipa-join.c:1046 +#: ipa-client/ipa-join.c:1050 msgid "IPA Server to use" msgstr "" -#: ipa-client/ipa-join.c:1048 +#: ipa-client/ipa-join.c:1052 msgid "Specifies where to store keytab information." msgstr "" -#: ipa-client/ipa-join.c:1048 +#: ipa-client/ipa-join.c:1052 msgid "filename" msgstr "" -#: ipa-client/ipa-join.c:1050 +#: ipa-client/ipa-join.c:1054 msgid "LDAP password (if not using Kerberos)" msgstr "" -#: ipa-client/ipa-join.c:1050 +#: ipa-client/ipa-join.c:1054 msgid "password" msgstr "" -#: ipa-client/ipa-rmkeytab.c:42 +#: ipa-client/ipa-rmkeytab.c:43 #, c-format msgid "Unable to parse principal name\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:44 +#: ipa-client/ipa-rmkeytab.c:45 #, c-format msgid "krb5_parse_name %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:54 +#: ipa-client/ipa-rmkeytab.c:55 #, c-format msgid "Removing principal %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:67 +#: ipa-client/ipa-rmkeytab.c:68 #, c-format msgid "Failed to open keytab\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:71 +#: ipa-client/ipa-rmkeytab.c:72 #, c-format msgid "principal not found\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:73 +#: ipa-client/ipa-rmkeytab.c:74 #, c-format msgid "krb5_kt_get_entry %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:81 +#: ipa-client/ipa-rmkeytab.c:82 #, c-format msgid "Unable to remove entry\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:83 +#: ipa-client/ipa-rmkeytab.c:84 #, c-format msgid "kvno %d\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:84 +#: ipa-client/ipa-rmkeytab.c:85 #, c-format msgid "krb5_kt_remove_entry %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:117 +#: ipa-client/ipa-rmkeytab.c:119 #, c-format msgid "Unable to parse principal\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:119 +#: ipa-client/ipa-rmkeytab.c:121 #, c-format msgid "krb5_unparse_name %d: %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:161 +#: ipa-client/ipa-rmkeytab.c:143 +#, c-format +msgid "realm not found\n" +msgstr "" + +#: ipa-client/ipa-rmkeytab.c:169 msgid "Print debugging information" msgstr "" -#: ipa-client/ipa-rmkeytab.c:161 +#: ipa-client/ipa-rmkeytab.c:169 msgid "Debugging output" msgstr "" -#: ipa-client/ipa-rmkeytab.c:168 +#: ipa-client/ipa-rmkeytab.c:176 msgid "Remove all principals in this realm" msgstr "" -#: ipa-client/ipa-rmkeytab.c:168 +#: ipa-client/ipa-rmkeytab.c:176 msgid "Realm name" msgstr "" -#: ipa-client/ipa-rmkeytab.c:222 ipa-client/ipa-rmkeytab.c:229 +#: ipa-client/ipa-rmkeytab.c:230 ipa-client/ipa-rmkeytab.c:237 #, c-format msgid "Failed to open keytab '%s': %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:245 +#: ipa-client/ipa-rmkeytab.c:253 #, c-format msgid "Closing keytab failed\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:247 +#: ipa-client/ipa-rmkeytab.c:255 #, c-format msgid "krb5_kt_close %d: %s\n" msgstr "" |