summaryrefslogtreecommitdiffstats
path: root/src/kadmin/cli/kadmin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kadmin/cli/kadmin.c')
-rw-r--r--src/kadmin/cli/kadmin.c415
1 files changed, 224 insertions, 191 deletions
diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index 05561b671b..fedee85b1e 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -119,12 +119,16 @@ static void
usage()
{
fprintf(stderr,
- "Usage: %s [-r realm] [-p principal] [-q query] [clnt|local args]\n"
- "\tclnt args: [-s admin_server[:port]] [[-c ccache]|[-k [-t keytab]]]|[-n]\n"
- "\tlocal args: [-x db_args]* [-d dbname] [-e \"enc:salt ...\"] [-m]\n"
- "where,\n\t[-x db_args]* - any number of database specific arguments.\n"
- "\t\t\tLook at each database documentation for supported arguments\n",
- whoami);
+ _("Usage: %s [-r realm] [-p principal] [-q query] "
+ "[clnt|local args]\n"
+ "\tclnt args: [-s admin_server[:port]] "
+ "[[-c ccache]|[-k [-t keytab]]]|[-n]\n"
+ "\tlocal args: [-x db_args]* [-d dbname] "
+ "[-e \"enc:salt ...\"] [-m]\n"
+ "where,\n\t[-x db_args]* - any number of database specific "
+ "arguments.\n"
+ "\t\t\tLook at each database documentation for supported "
+ "arguments\n"), whoami);
exit(1);
}
@@ -267,7 +271,7 @@ kadmin_startup(int argc, char *argv[])
retval = kadm5_init_krb5_context(&context);
if (retval) {
- com_err(whoami, retval, "while initializing krb5 library");
+ com_err(whoami, retval, _("while initializing krb5 library"));
exit(1);
}
@@ -278,7 +282,8 @@ kadmin_startup(int argc, char *argv[])
db_args_size++;
db_args = realloc(db_args, sizeof(char*) * (db_args_size + 1));
if (db_args == NULL) {
- fprintf(stderr, "%s: Cannot initialize. Not enough memory\n",
+ fprintf(stderr,
+ _("%s: Cannot initialize. Not enough memory\n"),
argv[0]);
exit(1);
}
@@ -318,7 +323,8 @@ kadmin_startup(int argc, char *argv[])
db_args_size++;
db_args = realloc(db_args, sizeof(char*) * (db_args_size + 1));
if (db_args == NULL) {
- fprintf(stderr, "%s: Cannot initialize. Not enough memory\n",
+ fprintf(stderr,
+ _("%s: Cannot initialize. Not enough memory\n"),
argv[0]);
exit(1);
}
@@ -338,7 +344,8 @@ kadmin_startup(int argc, char *argv[])
&params.keysalts,
&params.num_keysalts);
if (retval) {
- com_err(whoami, retval, "while parsing keysalts %s", optarg);
+ com_err(whoami, retval, _("while parsing keysalts %s"),
+ optarg);
exit(1);
}
params.mask |= KADM5_CONFIG_ENCTYPES;
@@ -360,7 +367,7 @@ kadmin_startup(int argc, char *argv[])
usage();
if (def_realm == NULL && krb5_get_default_realm(context, &def_realm)) {
- fprintf(stderr, "%s: unable to get default realm\n", whoami);
+ fprintf(stderr, _("%s: unable to get default realm\n"), whoami);
exit(1);
}
@@ -379,13 +386,14 @@ kadmin_startup(int argc, char *argv[])
if (ccache_name == NULL) {
retval = krb5_cc_default(context, &cc);
if (retval) {
- com_err(whoami, retval, "while opening default credentials cache");
+ com_err(whoami, retval,
+ _("while opening default credentials cache"));
exit(1);
}
} else {
retval = krb5_cc_resolve(context, ccache_name, &cc);
if (retval) {
- com_err(whoami, retval, "while opening credentials cache %s",
+ com_err(whoami, retval, _("while opening credentials cache %s"),
ccache_name);
exit(1);
}
@@ -407,7 +415,8 @@ kadmin_startup(int argc, char *argv[])
!krb5_cc_get_principal(context, cc, &princ)) {
retval = krb5_unparse_name(context, princ, &princstr);
if (retval) {
- com_err(whoami, retval, "while canonicalizing principal name");
+ com_err(whoami, retval,
+ _("while canonicalizing principal name"));
exit(1);
}
krb5_free_principal(context, princ);
@@ -416,19 +425,20 @@ kadmin_startup(int argc, char *argv[])
retval = krb5_sname_to_principal(context, NULL, "host",
KRB5_NT_SRV_HST, &princ);
if (retval) {
- com_err(whoami, retval, "creating host service principal");
+ com_err(whoami, retval, _("creating host service principal"));
exit(1);
}
retval = krb5_unparse_name(context, princ, &princstr);
if (retval) {
- com_err(whoami, retval, "while canonicalizing principal name");
+ com_err(whoami, retval,
+ _("while canonicalizing principal name"));
exit(1);
}
krb5_free_principal(context, princ);
freeprinc++;
} else if (!krb5_cc_get_principal(context, cc, &princ)) {
if (krb5_unparse_name(context, princ, &canon)) {
- fprintf(stderr, "%s: unable to canonicalize principal\n",
+ fprintf(stderr, _("%s: unable to canonicalize principal\n"),
whoami);
exit(1);
}
@@ -452,7 +462,7 @@ kadmin_startup(int argc, char *argv[])
if (asprintf(&princstr, "%s/admin%s%s", canon,
(realm) ? "@" : "",
(realm) ? realm : "") < 0) {
- fprintf(stderr, "%s: out of memory\n", whoami);
+ fprintf(stderr, _("%s: out of memory\n"), whoami);
exit(1);
}
free(canon);
@@ -460,19 +470,19 @@ kadmin_startup(int argc, char *argv[])
freeprinc++;
} else if ((luser = getenv("USER"))) {
if (asprintf(&princstr, "%s/admin@%s", luser, def_realm) < 0) {
- fprintf(stderr, "%s: out of memory\n", whoami);
+ fprintf(stderr, _("%s: out of memory\n"), whoami);
exit(1);
}
freeprinc++;
} else if ((pw = getpwuid(getuid()))) {
if (asprintf(&princstr, "%s/admin@%s", pw->pw_name,
def_realm) < 0) {
- fprintf(stderr, "%s: out of memory\n", whoami);
+ fprintf(stderr, _("%s: out of memory\n"), whoami);
exit(1);
}
freeprinc++;
} else {
- fprintf(stderr, "%s: unable to figure out a principal name\n",
+ fprintf(stderr, _("%s: unable to figure out a principal name\n"),
whoami);
exit(1);
}
@@ -480,7 +490,7 @@ kadmin_startup(int argc, char *argv[])
retval = krb5_klog_init(context, "admin_server", whoami, 0);
if (retval) {
- com_err(whoami, retval, "while setting up logging");
+ com_err(whoami, retval, _("while setting up logging"));
exit(1);
}
@@ -489,29 +499,29 @@ kadmin_startup(int argc, char *argv[])
* use it. Otherwise, use/prompt for the password.
*/
if (ccache_name) {
- printf("Authenticating as principal %s with existing credentials.\n",
- princstr);
+ printf(_("Authenticating as principal %s with existing "
+ "credentials.\n"), princstr);
retval = kadm5_init_with_creds(context, princstr, cc, svcname, &params,
KADM5_STRUCT_VERSION,
KADM5_API_VERSION_3, db_args, &handle);
} else if (use_anonymous) {
- printf("Authenticating as principal %s with password; "
- "anonymous requested.\n", princstr);
+ printf(_("Authenticating as principal %s with password; "
+ "anonymous requested.\n"), princstr);
retval = kadm5_init_anonymous(context, princstr, svcname, &params,
KADM5_STRUCT_VERSION,
KADM5_API_VERSION_3, db_args, &handle);
} else if (use_keytab) {
if (keytab_name)
- printf("Authenticating as principal %s with keytab %s.\n",
+ printf(_("Authenticating as principal %s with keytab %s.\n"),
princstr, keytab_name);
else
- printf("Authenticating as principal %s with default keytab.\n",
+ printf(_("Authenticating as principal %s with default keytab.\n"),
princstr);
retval = kadm5_init_with_skey(context, princstr, keytab_name, svcname,
&params, KADM5_STRUCT_VERSION,
KADM5_API_VERSION_3, db_args, &handle);
} else {
- printf("Authenticating as principal %s with password.\n",
+ printf(_("Authenticating as principal %s with password.\n"),
princstr);
retval = kadm5_init_with_password(context, princstr, password, svcname,
&params, KADM5_STRUCT_VERSION,
@@ -519,7 +529,7 @@ kadmin_startup(int argc, char *argv[])
&handle);
}
if (retval) {
- com_err(whoami, retval, "while initializing %s interface", whoami);
+ com_err(whoami, retval, _("while initializing %s interface"), whoami);
if (retval == KADM5_BAD_CLIENT_PARAMS ||
retval == KADM5_BAD_SERVER_PARAMS)
usage();
@@ -533,7 +543,7 @@ kadmin_startup(int argc, char *argv[])
retval = krb5_cc_close(context, cc);
if (retval) {
- com_err(whoami, retval, "while closing ccache %s", ccache_name);
+ com_err(whoami, retval, _("while closing ccache %s"), ccache_name);
exit(1);
}
@@ -554,15 +564,17 @@ quit()
if (locked) {
retval = kadm5_unlock(handle);
if (retval) {
- com_err("quit", retval, "while unlocking locked database");
+ com_err("quit", retval, _("while unlocking locked database"));
return 1;
}
locked = 0;
}
kadm5_destroy(handle);
- if (ccache_name != NULL)
- fprintf(stderr, "\n\a\a\aAdministration credentials NOT DESTROYED.\n");
+ if (ccache_name != NULL) {
+ fprintf(stderr, "\n\a\a\a%s",
+ _("Administration credentials NOT DESTROYED.\n"));
+ }
/* insert more random cleanup here */
krb5_klog_close(context);
@@ -610,36 +622,38 @@ kadmin_delprinc(int argc, char *argv[])
if (! (argc == 2 ||
(argc == 3 && !strcmp("-force", argv[1])))) {
- fprintf(stderr, "usage: delete_principal [-force] principal\n");
+ fprintf(stderr, _("usage: delete_principal [-force] principal\n"));
return;
}
retval = kadmin_parse_name(argv[argc - 1], &princ);
if (retval) {
- com_err("delete_principal", retval, "while parsing principal name");
+ com_err("delete_principal", retval, _("while parsing principal name"));
return;
}
retval = krb5_unparse_name(context, princ, &canon);
if (retval) {
- com_err("delete_principal", retval, "while canonicalizing principal");
+ com_err("delete_principal", retval,
+ _("while canonicalizing principal"));
goto cleanup;
}
if (argc == 2) {
- printf("Are you sure you want to delete the principal \"%s\"? "
- "(yes/no): ", canon);
+ printf(_("Are you sure you want to delete the principal \"%s\"? "
+ "(yes/no): "), canon);
fgets(reply, sizeof (reply), stdin);
if (strcmp("yes\n", reply)) {
- fprintf(stderr, "Principal \"%s\" not deleted\n", canon);
+ fprintf(stderr, _("Principal \"%s\" not deleted\n"), canon);
goto cleanup;
}
}
retval = kadm5_delete_principal(handle, princ);
if (retval) {
com_err("delete_principal", retval,
- "while deleting principal \"%s\"", canon);
+ _("while deleting principal \"%s\""), canon);
goto cleanup;
}
- printf("Principal \"%s\" deleted.\nMake sure that you have removed this "
- "principal from all ACLs before reusing.\n", canon);
+ printf(_("Principal \"%s\" deleted.\n"), canon);
+ printf(_("Make sure that you have removed this principal from all ACLs "
+ "before reusing.\n"));
cleanup:
krb5_free_principal(context, princ);
@@ -655,52 +669,53 @@ kadmin_renameprinc(int argc, char *argv[])
char reply[5];
if (!(argc == 3 || (argc == 4 && !strcmp("-force", argv[1])))) {
- fprintf(stderr, "usage: rename_principal [-force] old_principal "
- "new_principal\n");
+ fprintf(stderr, _("usage: rename_principal [-force] old_principal "
+ "new_principal\n"));
return;
}
retval = kadmin_parse_name(argv[argc - 2], &oprinc);
if (retval) {
com_err("rename_principal", retval,
- "while parsing old principal name");
+ _("while parsing old principal name"));
goto cleanup;
}
retval = kadmin_parse_name(argv[argc - 1], &nprinc);
if (retval) {
com_err("rename_principal", retval,
- "while parsing new principal name");
+ _("while parsing new principal name"));
goto cleanup;
}
retval = krb5_unparse_name(context, oprinc, &ocanon);
if (retval) {
com_err("rename_principal", retval,
- "while canonicalizing old principal");
+ _("while canonicalizing old principal"));
goto cleanup;
}
retval = krb5_unparse_name(context, nprinc, &ncanon);
if (retval) {
com_err("rename_principal", retval,
- "while canonicalizing new principal");
+ _("while canonicalizing new principal"));
goto cleanup;
}
if (argc == 3) {
- printf("Are you sure you want to rename the principal \"%s\" "
- "to \"%s\"? (yes/no): ", ocanon, ncanon);
+ printf(_("Are you sure you want to rename the principal \"%s\" "
+ "to \"%s\"? (yes/no): "), ocanon, ncanon);
fgets(reply, sizeof(reply), stdin);
if (strcmp("yes\n", reply)) {
- fprintf(stderr, "Principal \"%s\" not renamed\n", ocanon);
+ fprintf(stderr, _("Principal \"%s\" not renamed\n"), ocanon);
goto cleanup;
}
}
retval = kadm5_rename_principal(handle, oprinc, nprinc);
if (retval) {
com_err("rename_principal", retval,
- "while renaming principal \"%s\" to \"%s\"", ocanon, ncanon);
+ _("while renaming principal \"%s\" to \"%s\""),
+ ocanon, ncanon);
goto cleanup;
}
- printf("Principal \"%s\" renamed to \"%s\".\n"
- "Make sure that you have removed the old principal from all ACLs "
- "before reusing.\n", ocanon, ncanon);
+ printf(_("Principal \"%s\" renamed to \"%s\".\n"), ocanon, ncanon);
+ printf(_("Make sure that you have removed the old principal from all ACLs "
+ "before reusing.\n"));
cleanup:
krb5_free_principal(context, nprinc);
@@ -714,8 +729,8 @@ cpw_usage(const char *str)
{
if (str)
fprintf(stderr, "%s\n", str);
- fprintf(stderr, "usage: change_password [-randkey] [-keepold] "
- "[-e keysaltlist] [-pw password] principal\n");
+ fprintf(stderr, _("usage: change_password [-randkey] [-keepold] "
+ "[-e keysaltlist] [-pw password] principal\n"));
}
void
@@ -740,13 +755,13 @@ kadmin_cpw(int argc, char *argv[])
if (!strcmp("-x", *argv)) {
argc--;
if (argc < 1) {
- cpw_usage("change_password: missing db argument");
+ cpw_usage(_("change_password: missing db argument"));
goto cleanup;
}
db_args_size++;
db_args = realloc(db_args, sizeof(char*) * (db_args_size + 1));
if (db_args == NULL) {
- fprintf(stderr, "change_password: Not enough memory\n");
+ fprintf(stderr, _("change_password: Not enough memory\n"));
exit(1);
}
db_args[db_args_size - 1] = *++argv;
@@ -754,7 +769,7 @@ kadmin_cpw(int argc, char *argv[])
} else if (!strcmp("-pw", *argv)) {
argc--;
if (argc < 1) {
- cpw_usage("change_password: missing password arg");
+ cpw_usage(_("change_password: missing password arg"));
goto cleanup;
}
pwarg = *++argv;
@@ -765,14 +780,14 @@ kadmin_cpw(int argc, char *argv[])
} else if (!strcmp("-e", *argv)) {
argc--;
if (argc < 1) {
- cpw_usage("change_password: missing keysaltlist arg");
+ cpw_usage(_("change_password: missing keysaltlist arg"));
goto cleanup;
}
retval = krb5_string_to_keysalts(*++argv, ", \t", ":.-", 0,
&ks_tuple, &n_ks_tuple);
if (retval) {
com_err("change_password", retval,
- "while parsing keysalts %s", *argv);
+ _("while parsing keysalts %s"), *argv);
goto cleanup;
}
} else {
@@ -781,18 +796,19 @@ kadmin_cpw(int argc, char *argv[])
}
}
if (*argv == NULL) {
- com_err("change_password", 0, "missing principal name");
+ com_err("change_password", 0, _("missing principal name"));
cpw_usage(NULL);
goto cleanup;
}
retval = kadmin_parse_name(*argv, &princ);
if (retval) {
- com_err("change_password", retval, "while parsing principal name");
+ com_err("change_password", retval, _("while parsing principal name"));
goto cleanup;
}
retval = krb5_unparse_name(context, princ, &canon);
if (retval) {
- com_err("change_password", retval, "while canonicalizing principal");
+ com_err("change_password", retval,
+ _("while canonicalizing principal"));
goto cleanup;
}
if (pwarg != NULL) {
@@ -804,30 +820,30 @@ kadmin_cpw(int argc, char *argv[])
}
if (retval) {
com_err("change_password", retval,
- "while changing password for \"%s\".", canon);
+ _("while changing password for \"%s\"."), canon);
goto cleanup;
}
- printf("Password for \"%s\" changed.\n", canon);
+ printf(_("Password for \"%s\" changed.\n"), canon);
} else if (randkey) {
retval = randkey_princ(princ, keepold, n_ks_tuple, ks_tuple);
if (retval) {
com_err("change_password", retval,
- "while randomizing key for \"%s\".", canon);
+ _("while randomizing key for \"%s\"."), canon);
goto cleanup;
}
- printf("Key for \"%s\" randomized.\n", canon);
+ printf(_("Key for \"%s\" randomized.\n"), canon);
} else {
unsigned int i = sizeof (newpw) - 1;
snprintf(prompt1, sizeof(prompt1),
- "Enter password for principal \"%s\"", canon);
+ _("Enter password for principal \"%s\""), canon);
snprintf(prompt2, sizeof(prompt2),
- "Re-enter password for principal \"%s\"", canon);
+ _("Re-enter password for principal \"%s\""), canon);
retval = krb5_read_password(context, prompt1, prompt2,
newpw, &i);
if (retval) {
com_err("change_password", retval,
- "while reading password for \"%s\".", canon);
+ _("while reading password for \"%s\"."), canon);
goto cleanup;
}
if (keepold || ks_tuple != NULL) {
@@ -840,10 +856,10 @@ kadmin_cpw(int argc, char *argv[])
memset(newpw, 0, sizeof (newpw));
if (retval) {
com_err("change_password", retval,
- "while changing password for \"%s\".", canon);
+ _("while changing password for \"%s\"."), canon);
goto cleanup;
}
- printf("Password for \"%s\" changed.\n", canon);
+ printf(_("Password for \"%s\" changed.\n"), canon);
}
cleanup:
free(canon);
@@ -881,7 +897,7 @@ add_tl_data(kadm5_principal_ent_t princ, krb5_int16 tl_type, krb5_ui_2 len,
copy = malloc(len);
tl_data = calloc(1, sizeof(*tl_data));
if (copy == NULL || tl_data == NULL) {
- fprintf(stderr, "Not enough memory\n");
+ fprintf(stderr, _("Not enough memory\n"));
exit(1);
}
memcpy(copy, contents, len);
@@ -911,7 +927,7 @@ unlock_princ(kadm5_principal_ent_t princ, long *mask, const char *caller)
* see it, since fail_auth_count is unreplicated. */
retval = krb5_timeofday(context, &now);
if (retval) {
- com_err(caller, retval, "while getting time");
+ com_err(caller, retval, _("while getting time"));
exit(1);
}
store_32_le((krb5_int32)now, timebuf);
@@ -965,7 +981,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -980,7 +996,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -995,7 +1011,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -1010,7 +1026,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -1075,8 +1091,8 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
retval = krb5_string_to_keysalts(argv[i], ", \t", ":.-", 0,
ks_tuple, n_ks_tuple);
if (retval) {
- com_err(caller, retval,
- "while parsing keysalts %s", argv[i]);
+ com_err(caller, retval, _("while parsing keysalts %s"),
+ argv[i]);
return -1;
}
}
@@ -1110,7 +1126,7 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
return -1;
retval = kadmin_parse_name(argv[i], &oprinc->principal);
if (retval) {
- com_err(caller, retval, "while parsing principal");
+ com_err(caller, retval, _("while parsing principal"));
return -1;
}
return 0;
@@ -1119,42 +1135,54 @@ kadmin_parse_princ_args(int argc, char *argv[], kadm5_principal_ent_t oprinc,
static void
kadmin_addprinc_usage()
{
- fprintf(stderr, "usage: add_principal [options] principal\n");
- fprintf(stderr, "\toptions are:\n");
- fprintf(stderr, "\t\t[-x db_princ_args]* [-expire expdate] "
+ fprintf(stderr, _("usage: add_principal [options] principal\n"));
+ fprintf(stderr, _("\toptions are:\n"));
+ fprintf(stderr, _("\t\t[-x db_princ_args]* [-expire expdate] "
"[-pwexpire pwexpdate] [-maxlife maxtixlife]\n"
"\t\t[-kvno kvno] [-policy policy] [-clearpolicy] [-randkey]\n"
"\t\t[-pw password] [-maxrenewlife maxrenewlife]\n"
- "\t\t[-e keysaltlist]\n\t\t[{+|-}attribute]\n"
-#if APPLE_PKINIT
- "\t\t[-certhash hash_string]\n"
-#endif /* APPLE_PKINIT */
+ "\t\t[-e keysaltlist]\n\t\t[{+|-}attribute]\n")
);
- fprintf(stderr, "\tattributes are:\n");
- fprintf(stderr, "%s%s%s",
- "\t\tallow_postdated allow_forwardable allow_tgs_req allow_renewable\n",
- "\t\tallow_proxiable allow_dup_skey allow_tix requires_preauth\n",
- "\t\trequires_hwauth needchange allow_svr password_changing_service\n"
- "\t\tok_as_delegate ok_to_auth_as_delegate no_auth_data_required\n"
- "\nwhere,\n\t[-x db_princ_args]* - any number of database specific arguments.\n"
- "\t\t\tLook at each database documentation for supported arguments\n");
+ fprintf(stderr, _("\tattributes are:\n"));
+ fprintf(stderr,
+ _("\t\tallow_postdated allow_forwardable allow_tgs_req "
+ "allow_renewable\n"
+ "\t\tallow_proxiable allow_dup_skey allow_tix requires_preauth\n"
+ "\t\trequires_hwauth needchange allow_svr "
+ "password_changing_service\n"
+ "\t\tok_as_delegate ok_to_auth_as_delegate "
+ "no_auth_data_required\n"
+ "\nwhere,\n\t[-x db_princ_args]* - any number of database "
+ "specific arguments.\n"
+ "\t\t\tLook at each database documentation for supported "
+ "arguments\n"));
}
static void
kadmin_modprinc_usage()
{
- fprintf(stderr, "usage: modify_principal [options] principal\n");
- fprintf(stderr, "\toptions are:\n");
- fprintf(stderr, "\t\t[-x db_princ_args]* [-expire expdate] [-pwexpire pwexpdate] [-maxlife maxtixlife]\n\t\t[-kvno kvno] [-policy policy] [-clearpolicy]\n\t\t[-maxrenewlife maxrenewlife] [-unlock] [{+|-}attribute]\n");
+ fprintf(stderr, _("usage: modify_principal [options] principal\n"));
+ fprintf(stderr, _("\toptions are:\n"));
+ fprintf(stderr,
+ _("\t\t[-x db_princ_args]* [-expire expdate] "
+ "[-pwexpire pwexpdate] [-maxlife maxtixlife]\n"
+ "\t\t[-kvno kvno] [-policy policy] [-clearpolicy]\n"
+ "\t\t[-maxrenewlife maxrenewlife] [-unlock] "
+ "[{+|-}attribute]\n"));
fprintf(stderr, "\tattributes are:\n");
- fprintf(stderr, "%s%s%s",
- "\t\tallow_postdated allow_forwardable allow_tgs_req allow_renewable\n",
- "\t\tallow_proxiable allow_dup_skey allow_tix requires_preauth\n",
- "\t\trequires_hwauth needchange allow_svr password_changing_service\n"
- "\t\tok_as_delegate ok_to_auth_as_delegate no_auth_data_required\n"
- "\nwhere,\n\t[-x db_princ_args]* - any number of database specific arguments.\n"
- "\t\t\tLook at each database documentation for supported arguments\n"
- );
+ fprintf(stderr,
+ _("\t\tallow_postdated allow_forwardable allow_tgs_req "
+ "allow_renewable\n"
+ "\t\tallow_proxiable allow_dup_skey allow_tix "
+ "requires_preauth\n"
+ "\t\trequires_hwauth needchange allow_svr "
+ "password_changing_service\n"
+ "\t\tok_as_delegate ok_to_auth_as_delegate "
+ "no_auth_data_required\n"
+ "\nwhere,\n\t[-x db_princ_args]* - any number of database "
+ "specific arguments.\n"
+ "\t\t\tLook at each database documentation for supported "
+ "arguments\n"));
}
/* Create a dummy password for old-style (pre-1.8) randkey creation. */
@@ -1211,7 +1239,7 @@ kadmin_addprinc(int argc, char *argv[])
retval = krb5_unparse_name(context, princ.principal, &canon);
if (retval) {
- com_err("add_principal", retval, "while canonicalizing principal");
+ com_err("add_principal", retval, _("while canonicalizing principal"));
goto cleanup;
}
@@ -1223,14 +1251,14 @@ kadmin_addprinc(int argc, char *argv[])
*/
if (!(mask & KADM5_POLICY) && !(mask & KADM5_POLICY_CLR)) {
if (!kadm5_get_policy(handle, "default", &defpol)) {
- fprintf(stderr, "NOTICE: no policy specified for %s; "
- "assigning \"default\"\n", canon);
+ fprintf(stderr, _("NOTICE: no policy specified for %s; "
+ "assigning \"default\"\n"), canon);
princ.policy = "default";
mask |= KADM5_POLICY;
kadm5_free_policy_ent(handle, &defpol);
} else
- fprintf(stderr, "WARNING: no policy specified for %s; "
- "defaulting to no policy\n", canon);
+ fprintf(stderr, _("WARNING: no policy specified for %s; "
+ "defaulting to no policy\n"), canon);
}
mask &= ~KADM5_POLICY_CLR;
@@ -1240,13 +1268,13 @@ kadmin_addprinc(int argc, char *argv[])
unsigned int sz = sizeof(newpw) - 1;
snprintf(prompt1, sizeof(prompt1),
- "Enter password for principal \"%s\"", canon);
+ _("Enter password for principal \"%s\""), canon);
snprintf(prompt2, sizeof(prompt2),
- "Re-enter password for principal \"%s\"", canon);
+ _("Re-enter password for principal \"%s\""), canon);
retval = krb5_read_password(context, prompt1, prompt2, newpw, &sz);
if (retval) {
com_err("add_principal", retval,
- "while reading password for \"%s\".", canon);
+ _("while reading password for \"%s\"."), canon);
goto cleanup;
}
pass = newpw;
@@ -1274,7 +1302,7 @@ kadmin_addprinc(int argc, char *argv[])
retval = randkey_princ(princ.principal, FALSE, n_ks_tuple, ks_tuple);
if (retval) {
com_err("add_principal", retval,
- "while randomizing key for \"%s\".", canon);
+ _("while randomizing key for \"%s\"."), canon);
goto cleanup;
}
princ.attributes &= ~KRB5_KDB_DISALLOW_ALL_TIX; /* clear notix */
@@ -1282,7 +1310,7 @@ kadmin_addprinc(int argc, char *argv[])
retval = kadm5_modify_principal(handle, &princ, mask);
if (retval) {
com_err("add_principal", retval,
- "while clearing DISALLOW_ALL_TIX for \"%s\".", canon);
+ _("while clearing DISALLOW_ALL_TIX for \"%s\"."), canon);
goto cleanup;
}
}
@@ -1320,18 +1348,19 @@ kadmin_modprinc(int argc, char *argv[])
retval = kadmin_parse_name(argv[argc - 1], &kprinc);
if (retval) {
- com_err("modify_principal", retval, "while parsing principal");
+ com_err("modify_principal", retval, _("while parsing principal"));
return;
}
retval = krb5_unparse_name(context, kprinc, &canon);
if (retval) {
- com_err("modify_principal", retval, "while canonicalizing principal");
+ com_err("modify_principal", retval,
+ _("while canonicalizing principal"));
goto cleanup;
}
retval = kadm5_get_principal(handle, kprinc, &oldprinc,
KADM5_PRINCIPAL_NORMAL_MASK);
if (retval) {
- com_err("modify_principal", retval, "while getting \"%s\".", canon);
+ com_err("modify_principal", retval, _("while getting \"%s\"."), canon);
goto cleanup;
}
princ.attributes = oldprinc.attributes;
@@ -1380,10 +1409,11 @@ kadmin_modprinc(int argc, char *argv[])
retval = kadm5_modify_principal(handle, &princ, mask);
}
if (retval) {
- com_err("modify_principal", retval, "while modifying \"%s\".", canon);
+ com_err("modify_principal", retval, _("while modifying \"%s\"."),
+ canon);
goto cleanup;
}
- printf("Principal \"%s\" modified.\n", canon);
+ printf(_("Principal \"%s\" modified.\n"), canon);
cleanup:
krb5_free_principal(context, kprinc);
krb5_free_principal(context, princ.principal);
@@ -1403,7 +1433,7 @@ kadmin_getprinc(int argc, char *argv[])
size_t j;
if (!(argc == 2 || (argc == 3 && !strcmp("-terse", argv[1])))) {
- fprintf(stderr, "usage: get_principal [-terse] principal\n");
+ fprintf(stderr, _("usage: get_principal [-terse] principal\n"));
return;
}
@@ -1411,80 +1441,80 @@ kadmin_getprinc(int argc, char *argv[])
retval = kadmin_parse_name(argv[argc - 1], &princ);
if (retval) {
- com_err("get_principal", retval, "while parsing principal");
+ com_err("get_principal", retval, _("while parsing principal"));
return;
}
retval = krb5_unparse_name(context, princ, &canon);
if (retval) {
- com_err("get_principal", retval, "while canonicalizing principal");
+ com_err("get_principal", retval, _("while canonicalizing principal"));
goto cleanup;
}
retval = kadm5_get_principal(handle, princ, &dprinc,
KADM5_PRINCIPAL_NORMAL_MASK | KADM5_KEY_DATA);
if (retval) {
- com_err("get_principal", retval, "while retrieving \"%s\".", canon);
+ com_err("get_principal", retval, _("while retrieving \"%s\"."), canon);
goto cleanup;
}
retval = krb5_unparse_name(context, dprinc.principal, &canon);
if (retval) {
- com_err("get_principal", retval, "while canonicalizing principal");
+ com_err("get_principal", retval, _("while canonicalizing principal"));
goto cleanup;
}
retval = krb5_unparse_name(context, dprinc.mod_name, &modcanon);
if (retval) {
- com_err("get_principal", retval, "while unparsing modname");
+ com_err("get_principal", retval, _("while unparsing modname"));
goto cleanup;
}
if (argc == 2) {
- printf("Principal: %s\n", canon);
- printf("Expiration date: %s\n", dprinc.princ_expire_time ?
- strdate(dprinc.princ_expire_time) : "[never]");
- printf("Last password change: %s\n", dprinc.last_pwd_change ?
- strdate(dprinc.last_pwd_change) : "[never]");
- printf("Password expiration date: %s\n",
+ printf(_("Principal: %s\n"), canon);
+ printf(_("Expiration date: %s\n"), dprinc.princ_expire_time ?
+ strdate(dprinc.princ_expire_time) : _("[never]"));
+ printf(_("Last password change: %s\n"), dprinc.last_pwd_change ?
+ strdate(dprinc.last_pwd_change) : _("[never]"));
+ printf(_("Password expiration date: %s\n"),
dprinc.pw_expiration ?
- strdate(dprinc.pw_expiration) : "[none]");
- printf("Maximum ticket life: %s\n", strdur(dprinc.max_life));
- printf("Maximum renewable life: %s\n",
+ strdate(dprinc.pw_expiration) : _("[none]"));
+ printf(_("Maximum ticket life: %s\n"), strdur(dprinc.max_life));
+ printf(_("Maximum renewable life: %s\n"),
strdur(dprinc.max_renewable_life));
- printf("Last modified: %s (%s)\n", strdate(dprinc.mod_date), modcanon);
- printf("Last successful authentication: %s\n",
+ printf(_("Last modified: %s (%s)\n"), strdate(dprinc.mod_date),
+ modcanon);
+ printf(_("Last successful authentication: %s\n"),
dprinc.last_success ? strdate(dprinc.last_success) :
- "[never]");
+ _("[never]"));
printf("Last failed authentication: %s\n",
dprinc.last_failed ? strdate(dprinc.last_failed) :
"[never]");
- printf("Failed password attempts: %d\n",
+ printf(_("Failed password attempts: %d\n"),
dprinc.fail_auth_count);
- printf("Number of keys: %d\n", dprinc.n_key_data);
+ printf(_("Number of keys: %d\n"), dprinc.n_key_data);
for (i = 0; i < dprinc.n_key_data; i++) {
krb5_key_data *key_data = &dprinc.key_data[i];
char enctype[BUFSIZ], salttype[BUFSIZ];
if (krb5_enctype_to_name(key_data->key_data_type[0], FALSE,
enctype, sizeof(enctype)))
- snprintf(enctype, sizeof(enctype), "<Encryption type 0x%x>",
+ snprintf(enctype, sizeof(enctype), _("<Encryption type 0x%x>"),
key_data->key_data_type[0]);
printf("Key: vno %d, %s, ", key_data->key_data_kvno, enctype);
if (key_data->key_data_ver > 1) {
if (krb5_salttype_to_string(key_data->key_data_type[1],
salttype, sizeof(salttype)))
- snprintf(salttype, sizeof(salttype), "<Salt type 0x%x>",
+ snprintf(salttype, sizeof(salttype), _("<Salt type 0x%x>"),
key_data->key_data_type[1]);
printf("%s\n", salttype);
} else
- printf("no salt\n");
+ printf(_("no salt\n"));
}
- printf("MKey: vno %d\n",
- dprinc.mkvno);
+ printf(_("MKey: vno %d\n"), dprinc.mkvno);
- printf("Attributes:");
+ printf(_("Attributes:"));
for (j = 0; j < sizeof(prflags) / sizeof(char *); j++) {
if (dprinc.attributes & (krb5_flags) 1 << j)
printf(" %s", prflags[j]);
}
printf("\n");
- printf("Policy: %s\n", dprinc.policy ? dprinc.policy : "[none]");
+ printf(_("Policy: %s\n"), dprinc.policy ? dprinc.policy : _("[none]"));
} else {
printf("\"%s\"\t%d\t%d\t%d\t%d\t\"%s\"\t%d\t%d\t%d\t%d\t\"%s\""
"\t%d\t%d\t%d\t%d\t%d",
@@ -1519,12 +1549,12 @@ kadmin_getprincs(int argc, char *argv[])
expr = NULL;
if (!(argc == 1 || (argc == 2 && (expr = argv[1])))) {
- fprintf(stderr, "usage: get_principals [expression]\n");
+ fprintf(stderr, _("usage: get_principals [expression]\n"));
return;
}
retval = kadm5_get_principals(handle, expr, &names, &count);
if (retval) {
- com_err("get_principals", retval, "while retrieving list.");
+ com_err("get_principals", retval, _("while retrieving list."));
return;
}
for (i = 0; i < count; i++)
@@ -1548,7 +1578,7 @@ kadmin_parse_policy_args(int argc, char *argv[], kadm5_policy_ent_t policy,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -1562,7 +1592,7 @@ kadmin_parse_policy_args(int argc, char *argv[], kadm5_policy_ent_t policy,
else {
date = get_date(argv[i]);
if (date == (time_t)-1) {
- fprintf(stderr, "Invalid date specification \"%s\".\n",
+ fprintf(stderr, _("Invalid date specification \"%s\".\n"),
argv[i]);
return -1;
}
@@ -1635,7 +1665,7 @@ kadmin_parse_policy_args(int argc, char *argv[], kadm5_policy_ent_t policy,
return -1;
}
if (i != argc -1) {
- fprintf(stderr, "%s: parser lost count!\n", caller);
+ fprintf(stderr, _("%s: parser lost count!\n"), caller);
return -1;
} else
return 0;
@@ -1644,10 +1674,13 @@ kadmin_parse_policy_args(int argc, char *argv[], kadm5_policy_ent_t policy,
static void
kadmin_addmodpol_usage(char *func)
{
- fprintf(stderr, "usage; %s [options] policy\n", func);
- fprintf(stderr, "\toptions are:\n");
- fprintf(stderr, "\t\t[-maxlife time] [-minlife time] [-minlength length]\n\t\t[-minclasses number] [-history number]\n\t\t[-maxfailure number] [-failurecountinterval time]\n");
- fprintf(stderr, "\t\t[-lockoutduration time]\n");
+ fprintf(stderr, _("usage; %s [options] policy\n"), func);
+ fprintf(stderr, _("\toptions are:\n"));
+ fprintf(stderr,
+ _("\t\t[-maxlife time] [-minlife time] [-minlength length]\n"
+ "\t\t[-minclasses number] [-history number]\n"
+ "\t\t[-maxfailure number] [-failurecountinterval time]\n"));
+ fprintf(stderr, _("\t\t[-lockoutduration time]\n"));
}
void
@@ -1666,7 +1699,7 @@ kadmin_addpol(int argc, char *argv[])
mask |= KADM5_POLICY;
retval = kadm5_create_policy(handle, &policy, mask);
if (retval) {
- com_err("add_policy", retval, "while creating policy \"%s\".",
+ com_err("add_policy", retval, _("while creating policy \"%s\"."),
policy.policy);
}
}
@@ -1687,7 +1720,7 @@ kadmin_modpol(int argc, char *argv[])
policy.policy = argv[argc - 1];
retval = kadm5_modify_policy(handle, &policy, mask);
if (retval) {
- com_err("modify_policy", retval, "while modifying policy \"%s\".",
+ com_err("modify_policy", retval, _("while modifying policy \"%s\"."),
policy.policy);
}
}
@@ -1699,21 +1732,21 @@ kadmin_delpol(int argc, char *argv[])
char reply[5];
if (!(argc == 2 || (argc == 3 && !strcmp("-force", argv[1])))) {
- fprintf(stderr, "usage: delete_policy [-force] policy\n");
+ fprintf(stderr, _("usage: delete_policy [-force] policy\n"));
return;
}
if (argc == 2) {
- printf("Are you sure you want to delete the policy \"%s\"? (yes/no): ",
- argv[1]);
+ printf(_("Are you sure you want to delete the policy \"%s\"? "
+ "(yes/no): "), argv[1]);
fgets(reply, sizeof(reply), stdin);
if (strcmp("yes\n", reply)) {
- fprintf(stderr, "Policy \"%s\" not deleted.\n", argv[1]);
+ fprintf(stderr, _("Policy \"%s\" not deleted.\n"), argv[1]);
return;
}
}
retval = kadm5_delete_policy(handle, argv[argc - 1]);
if (retval) {
- com_err("delete_policy:", retval, "while deleting policy \"%s\"",
+ com_err("delete_policy:", retval, _("while deleting policy \"%s\""),
argv[argc - 1]);
}
}
@@ -1725,29 +1758,29 @@ kadmin_getpol(int argc, char *argv[])
kadm5_policy_ent_rec policy;
if (!(argc == 2 || (argc == 3 && !strcmp("-terse", argv[1])))) {
- fprintf(stderr, "usage: get_policy [-terse] policy\n");
+ fprintf(stderr, _("usage: get_policy [-terse] policy\n"));
return;
}
retval = kadm5_get_policy(handle, argv[argc - 1], &policy);
if (retval) {
- com_err("get_policy", retval, "while retrieving policy \"%s\".",
+ com_err("get_policy", retval, _("while retrieving policy \"%s\"."),
argv[argc - 1]);
return;
}
if (argc == 2) {
- printf("Policy: %s\n", policy.policy);
- printf("Maximum password life: %ld\n", policy.pw_max_life);
- printf("Minimum password life: %ld\n", policy.pw_min_life);
- printf("Minimum password length: %ld\n", policy.pw_min_length);
- printf("Minimum number of password character classes: %ld\n",
+ printf(_("Policy: %s\n"), policy.policy);
+ printf(_("Maximum password life: %ld\n"), policy.pw_max_life);
+ printf(_("Minimum password life: %ld\n"), policy.pw_min_life);
+ printf(_("Minimum password length: %ld\n"), policy.pw_min_length);
+ printf(_("Minimum number of password character classes: %ld\n"),
policy.pw_min_classes);
- printf("Number of old keys kept: %ld\n", policy.pw_history_num);
- printf("Reference count: %ld\n", policy.policy_refcnt);
- printf("Maximum password failures before lockout: %lu\n",
+ printf(_("Number of old keys kept: %ld\n"), policy.pw_history_num);
+ printf(_("Reference count: %ld\n"), policy.policy_refcnt);
+ printf(_("Maximum password failures before lockout: %lu\n"),
(unsigned long)policy.pw_max_fail);
- printf("Password failure count reset interval: %s\n",
+ printf(_("Password failure count reset interval: %s\n"),
strdur(policy.pw_failcnt_interval));
- printf("Password lockout duration: %s\n",
+ printf(_("Password lockout duration: %s\n"),
strdur(policy.pw_lockout_duration));
} else {
printf("\"%s\"\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\t%lu\t%ld\t%ld\n",
@@ -1770,12 +1803,12 @@ kadmin_getpols(int argc, char *argv[])
expr = NULL;
if (!(argc == 1 || (argc == 2 && (expr = argv[1])))) {
- fprintf(stderr, "usage: get_policies [expression]\n");
+ fprintf(stderr, _("usage: get_policies [expression]\n"));
return;
}
retval = kadm5_get_policies(handle, expr, &names, &count);
if (retval) {
- com_err("get_policies", retval, "while retrieving list.");
+ com_err("get_policies", retval, _("while retrieving list."));
return;
}
for (i = 0; i < count; i++)
@@ -1792,15 +1825,15 @@ kadmin_getprivs(int argc, char *argv[])
long plist;
if (argc != 1) {
- fprintf(stderr, "usage: get_privs\n");
+ fprintf(stderr, _("usage: get_privs\n"));
return;
}
retval = kadm5_get_privs(handle, &plist);
if (retval) {
- com_err("get_privs", retval, "while retrieving privileges");
+ com_err("get_privs", retval, _("while retrieving privileges"));
return;
}
- printf("current privileges:");
+ printf(_("current privileges:"));
for (i = 0; i < sizeof (privs) / sizeof (char *); i++) {
if (plist & 1 << i)
printf(" %s", privs[i]);
@@ -1824,31 +1857,31 @@ kadmin_purgekeys(int argc, char *argv[])
pname = argv[1];
}
if (pname == NULL) {
- fprintf(stderr, "usage: purgekeys [-keepkvno oldest_kvno_to_keep] "
- "principal\n");
+ fprintf(stderr, _("usage: purgekeys [-keepkvno oldest_kvno_to_keep] "
+ "principal\n"));
return;
}
retval = kadmin_parse_name(pname, &princ);
if (retval) {
- com_err("purgekeys", retval, "while parsing principal");
+ com_err("purgekeys", retval, _("while parsing principal"));
return;
}
retval = krb5_unparse_name(context, princ, &canon);
if (retval) {
- com_err("purgekeys", retval, "while canonicalizing principal");
+ com_err("purgekeys", retval, _("while canonicalizing principal"));
goto cleanup;
}
retval = kadm5_purgekeys(handle, princ, keepkvno);
if (retval) {
com_err("purgekeys", retval,
- "while purging keys for principal \"%s\"", canon);
+ _("while purging keys for principal \"%s\""), canon);
goto cleanup;
}
- printf("Old keys for principal \"%s\" purged.\n", canon);
+ printf(_("Old keys for principal \"%s\" purged.\n"), canon);
cleanup:
krb5_free_principal(context, princ);
free(canon);