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:
		| @@ -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, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Johan Danielsson
					Johan Danielsson