use new addressless, convert pa-pac option to use the same tri-state
option as the new addressless option. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17985 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -52,7 +52,7 @@ typedef struct krb5_get_init_creds_ctx { | ||||
|     const char *password; | ||||
|     krb5_s2k_proc key_proc; | ||||
|  | ||||
|     krb5_get_init_creds_req_pac req_pac; | ||||
|     krb5_get_init_creds_tristate req_pac; | ||||
|  | ||||
|     krb5_pk_init_ctx pk_init_ctx; | ||||
| } krb5_get_init_creds_ctx; | ||||
| @@ -256,6 +256,8 @@ print_expire (krb5_context context, | ||||
|     } | ||||
| } | ||||
|  | ||||
| static krb5_addresses no_addrs = { 0, NULL }; | ||||
|  | ||||
| static krb5_error_code | ||||
| get_init_creds_common(krb5_context context, | ||||
| 		      krb5_principal client, | ||||
| @@ -284,7 +286,7 @@ get_init_creds_common(krb5_context context, | ||||
| 	ctx->req_pac = options->opt_private->req_pac; | ||||
| 	ctx->pk_init_ctx = options->opt_private->pk_init_ctx; | ||||
|     } else | ||||
| 	ctx->req_pac = KRB5_PA_PAC_DONT_CARE; | ||||
| 	ctx->req_pac = KRB5_INIT_CREDS_TRISTATE_UNSET; | ||||
|  | ||||
|     if (ctx->key_proc == NULL) | ||||
| 	ctx->key_proc = default_s2k_func; | ||||
| @@ -313,8 +315,30 @@ get_init_creds_common(krb5_context context, | ||||
| 	ctx->flags.b.postdated = 1; | ||||
|     if (ctx->cred.times.renew_till) | ||||
| 	ctx->flags.b.renewable = 1; | ||||
|     if (options->flags & KRB5_GET_INIT_CREDS_OPT_ADDRESS_LIST) | ||||
|     if (options->flags & KRB5_GET_INIT_CREDS_OPT_ADDRESS_LIST) { | ||||
| 	ctx->addrs = options->address_list; | ||||
| 	printf("list\n"); | ||||
|     } else if (options->opt_private) { | ||||
| 	printf("addresslessness\n"); | ||||
| 	switch (options->opt_private->addressless) { | ||||
| 	case KRB5_INIT_CREDS_TRISTATE_UNSET: | ||||
| #if KRB5_ADDRESSLESS_DEFAULT == TRUE | ||||
| 	    ctx->addrs = &no_addrs; | ||||
| #else | ||||
| 	    ctx->addrs = NULL; | ||||
| #endif | ||||
| 	printf("unset\n"); | ||||
| 	    break; | ||||
| 	case KRB5_INIT_CREDS_TRISTATE_FALSE: | ||||
| 	    ctx->addrs = NULL; | ||||
| 	printf("false\n"); | ||||
| 	    break; | ||||
| 	case KRB5_INIT_CREDS_TRISTATE_TRUE: | ||||
| 	    ctx->addrs = &no_addrs; | ||||
| 	printf("true\n"); | ||||
| 	    break; | ||||
| 	} | ||||
|     } | ||||
|     if (options->flags & KRB5_GET_INIT_CREDS_OPT_ETYPE_LIST) { | ||||
| 	etypes = malloc((options->etype_list_length + 1) | ||||
| 			* sizeof(krb5_enctype)); | ||||
| @@ -1029,12 +1053,12 @@ pa_data_add_pac_request(krb5_context context, | ||||
|     void *buf; | ||||
|      | ||||
|     switch (ctx->req_pac) { | ||||
|     case KRB5_PA_PAC_DONT_CARE: | ||||
|     case KRB5_INIT_CREDS_TRISTATE_UNSET: | ||||
| 	return 0; /* don't bother */ | ||||
|     case KRB5_PA_PAC_REQ_TRUE: | ||||
|     case KRB5_INIT_CREDS_TRISTATE_TRUE: | ||||
| 	req.include_pac = 1; | ||||
| 	break; | ||||
|     case KRB5_PA_PAC_REQ_FALSE: | ||||
|     case KRB5_INIT_CREDS_TRISTATE_FALSE: | ||||
| 	req.include_pac = 0; | ||||
|     }	 | ||||
|  | ||||
|   | ||||
| @@ -171,10 +171,10 @@ struct _krb5_krb_auth_data; | ||||
| #define KRB5_BUFSIZ 1024 | ||||
|  | ||||
| typedef enum { | ||||
|     KRB5_PA_PAC_DONT_CARE = 0,  | ||||
|     KRB5_PA_PAC_REQ_TRUE, | ||||
|     KRB5_PA_PAC_REQ_FALSE | ||||
| } krb5_get_init_creds_req_pac; | ||||
|     KRB5_INIT_CREDS_TRISTATE_UNSET = 0, | ||||
|     KRB5_INIT_CREDS_TRISTATE_TRUE, | ||||
|     KRB5_INIT_CREDS_TRISTATE_FALSE | ||||
| } krb5_get_init_creds_tristate; | ||||
|  | ||||
| struct _krb5_get_init_creds_opt_private { | ||||
|     int refcount; | ||||
| @@ -182,12 +182,12 @@ struct _krb5_get_init_creds_opt_private { | ||||
|     const char *password; | ||||
|     krb5_s2k_proc key_proc; | ||||
|     /* PA_PAC_REQUEST */ | ||||
|     krb5_get_init_creds_req_pac req_pac; | ||||
|     krb5_get_init_creds_tristate req_pac; | ||||
|     /* PKINIT */ | ||||
|     krb5_pk_init_ctx pk_init_ctx; | ||||
|     int canonicalize; | ||||
|     /* */ | ||||
|     KRB_ERROR *error; | ||||
|     krb5_get_init_creds_tristate addressless; | ||||
| }; | ||||
|  | ||||
| /* | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand