kinit: Add --cache-default-for flag (fix check-cc)
This commit is contained in:
		| @@ -100,6 +100,10 @@ Supported options: | ||||
| .It Fl c Ar cachename Fl Fl cache= Ns Ar cachename | ||||
| The credentials cache to put the acquired ticket in, if other than | ||||
| default. | ||||
| .It Fl Fl cache-default-for | ||||
| Use a cache in the default collection (for the default cache type) | ||||
| named after the client principal.  This is useful for users with | ||||
| multiple client principals. | ||||
| .It Fl f Fl Fl forwardable | ||||
| Obtain a ticket than can be forwarded to another host. | ||||
| .It Fl F Fl Fl no-forwardable | ||||
|   | ||||
| @@ -56,6 +56,7 @@ int validate_flag	= 0; | ||||
| int version_flag	= 0; | ||||
| int help_flag		= 0; | ||||
| int addrs_flag		= -1; | ||||
| int default_for_flag	= 0; | ||||
| struct getarg_strings extra_addresses; | ||||
| int anonymous_flag	= 0; | ||||
| char *lifetime 		= NULL; | ||||
| @@ -108,6 +109,9 @@ static struct getargs args[] = { | ||||
|     { "cache", 		'c', arg_string, &cred_cache, | ||||
|       NP_("credentials cache", ""), "cachename" }, | ||||
|  | ||||
|     { "cache-default-for"  , 0, arg_flag, &default_for_flag, | ||||
|       NP_("name cache after client principal", ""), NULL }, | ||||
|  | ||||
|     { "forwardable",	'F', arg_negative_flag, &forwardable_flag, | ||||
|       NP_("get tickets not forwardable", ""), NULL }, | ||||
|  | ||||
| @@ -1475,9 +1479,11 @@ main(int argc, char **argv) | ||||
| 				krb5_principal_get_realm(context, principal), | ||||
| 				"afslog", TRUE, &do_afslog); | ||||
|  | ||||
|     if (cred_cache) | ||||
|     if (cred_cache) { | ||||
| 	ret = krb5_cc_resolve(context, cred_cache, &ccache); | ||||
|     else { | ||||
|     } else if (default_for_flag) { | ||||
|         ret = krb5_cc_default_for(context, principal, &ccache); | ||||
|     } else { | ||||
| 	if (argc > 1) { | ||||
| 	    char s[1024]; | ||||
| 	    ret = krb5_cc_new_unique(context, NULL, NULL, &ccache); | ||||
|   | ||||
| @@ -139,8 +139,8 @@ export KRB5_CONFIG | ||||
| unset KRB5CCNAME | ||||
| rm -rf ${objdir}/kt ${objdir}/cc_dir | ||||
| mkdir ${objdir}/cc_dir || { ec=1 ; eval "${testfailed}"; } | ||||
| ${kinit} foo@${R} || { ec=1 ; eval "${testfailed}"; } | ||||
| ${kinit} --no-change-default bar@${R} || { ec=1 ; eval "${testfailed}"; } | ||||
| ${kinit} --cache-default-for foo@${R} || { ec=1 ; eval "${testfailed}"; } | ||||
| ${kinit} --cache-default-for --no-change-default bar@${R} || { ec=1 ; eval "${testfailed}"; } | ||||
| primary=`cat ${objdir}/cc_dir/primary` | ||||
| [ "x$primary" = xtkt.foo@${R} ] || { ec=1 ; eval "${testfailed}"; } | ||||
| ${klist} -l | | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicolas Williams
					Nicolas Williams