use krb5_get_init_creds_opt_set_default_flags

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9452 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2001-01-04 17:07:03 +00:00
parent 3ecafbe396
commit 72310c068d

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997-2000 Kungliga Tekniska H<>gskolan * Copyright (c) 1997-2001 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -159,9 +159,9 @@ kinit_get_default_principal (krb5_context context,
#endif /* !KRB4 */ #endif /* !KRB4 */
int forwardable_flag = 0; int forwardable_flag = -1;
int proxiable_flag = 0; int proxiable_flag = -1;
int renewable_flag = 0; int renewable_flag = -1;
int renew_flag = 0; int renew_flag = 0;
int validate_flag = 0; int validate_flag = 0;
int version_flag = 0; int version_flag = 0;
@@ -346,10 +346,13 @@ main (int argc, char **argv)
if (ret) if (ret)
errx(1, "krb5_init_context failed: %d", ret); errx(1, "krb5_init_context failed: %d", ret);
forwardable_flag = krb5_config_get_bool (context, NULL, /* XXX no way to figure out if set without explict test */
"libdefaults", if(krb5_config_get_string(context, NULL, "libdefaults",
"forwardable", "forwardable", NULL))
NULL); forwardable_flag = krb5_config_get_bool (context, NULL,
"libdefaults",
"forwardable",
NULL);
#ifdef KRB4 #ifdef KRB4
get_v4_tgt = krb5_config_get_bool_default (context, NULL, get_v4_tgt = krb5_config_get_bool_default (context, NULL,
@@ -370,6 +373,22 @@ main (int argc, char **argv)
exit(0); exit(0);
} }
argc -= optind;
argv += optind;
if (argc > 1)
usage (1);
if (argv[0]) {
ret = krb5_parse_name (context, argv[0], &principal);
if (ret)
krb5_err (context, 1, ret, "krb5_parse_name");
} else {
ret = kinit_get_default_principal (context, &principal);
if (ret)
krb5_err (context, 1, ret, "krb5_get_default_principal");
}
if(fcache_version) if(fcache_version)
krb5_set_fcache_version(context, fcache_version); krb5_set_fcache_version(context, fcache_version);
@@ -395,9 +414,15 @@ main (int argc, char **argv)
krb5_get_init_creds_opt_init (&opt); krb5_get_init_creds_opt_init (&opt);
krb5_get_init_creds_opt_set_forwardable (&opt, forwardable_flag); krb5_get_init_creds_opt_set_default_flags(context, "kinit",
krb5_get_init_creds_opt_set_proxiable (&opt, proxiable_flag); /* XXX */principal->realm, &opt);
krb5_get_init_creds_opt_set_anonymous (&opt, anonymous_flag);
if(forwardable_flag != -1)
krb5_get_init_creds_opt_set_forwardable (&opt, forwardable_flag);
if(proxiable_flag != -1)
krb5_get_init_creds_opt_set_proxiable (&opt, proxiable_flag);
if(anonymous_flag != -1)
krb5_get_init_creds_opt_set_anonymous (&opt, anonymous_flag);
if (!addrs_flag) { if (!addrs_flag) {
no_addrs.len = 0; no_addrs.len = 0;
@@ -443,22 +468,6 @@ main (int argc, char **argv)
etype_str.num_strings); etype_str.num_strings);
} }
argc -= optind;
argv += optind;
if (argc > 1)
usage (1);
if (argv[0]) {
ret = krb5_parse_name (context, argv[0], &principal);
if (ret)
krb5_err (context, 1, ret, "krb5_parse_name");
} else {
ret = kinit_get_default_principal (context, &principal);
if (ret)
krb5_err (context, 1, ret, "krb5_get_default_principal");
}
#ifdef KRB4 #ifdef KRB4
get_v4_tgt = krb5_config_get_bool_default (context, get_v4_tgt = krb5_config_get_bool_default (context,
NULL, NULL,