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).
* All rights reserved.
*
@@ -159,9 +159,9 @@ kinit_get_default_principal (krb5_context context,
#endif /* !KRB4 */
int forwardable_flag = 0;
int proxiable_flag = 0;
int renewable_flag = 0;
int forwardable_flag = -1;
int proxiable_flag = -1;
int renewable_flag = -1;
int renew_flag = 0;
int validate_flag = 0;
int version_flag = 0;
@@ -346,10 +346,13 @@ main (int argc, char **argv)
if (ret)
errx(1, "krb5_init_context failed: %d", ret);
forwardable_flag = krb5_config_get_bool (context, NULL,
"libdefaults",
"forwardable",
NULL);
/* XXX no way to figure out if set without explict test */
if(krb5_config_get_string(context, NULL, "libdefaults",
"forwardable", NULL))
forwardable_flag = krb5_config_get_bool (context, NULL,
"libdefaults",
"forwardable",
NULL);
#ifdef KRB4
get_v4_tgt = krb5_config_get_bool_default (context, NULL,
@@ -370,6 +373,22 @@ main (int argc, char **argv)
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)
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_set_forwardable (&opt, forwardable_flag);
krb5_get_init_creds_opt_set_proxiable (&opt, proxiable_flag);
krb5_get_init_creds_opt_set_anonymous (&opt, anonymous_flag);
krb5_get_init_creds_opt_set_default_flags(context, "kinit",
/* XXX */principal->realm, &opt);
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) {
no_addrs.len = 0;
@@ -443,22 +468,6 @@ main (int argc, char **argv)
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
get_v4_tgt = krb5_config_get_bool_default (context,
NULL,