Clean up client-side preauth error data handling
[krb5.git] / src / lib / krb5 / krb / init_creds_ctx.h
1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
3 #ifndef KRB5_INIT_CREDS_CONTEXT
4 #define KRB5_INIT_CREDS_CONTEXT 1
5
6 struct _krb5_init_creds_context {
7     krb5_gic_opt_ext *opte;
8     char *in_tkt_service;
9     krb5_prompter_fct prompter;
10     void *prompter_data;
11     krb5_gic_get_as_key_fct gak_fct;
12     void *gak_data;
13     krb5_timestamp request_time;
14     krb5_deltat start_time;
15     krb5_deltat tkt_life;
16     krb5_deltat renew_life;
17     krb5_boolean complete;
18     unsigned int loopcount;
19     krb5_data password;
20     krb5_error *err_reply;
21     krb5_pa_data **err_padata;
22     krb5_creds cred;
23     krb5_kdc_req *request;
24     krb5_kdc_rep *reply;
25     krb5_data *encoded_request_body;
26     krb5_data *encoded_previous_request;
27     struct krb5int_fast_request_state *fast_state;
28     krb5_pa_data **preauth_to_use;
29     krb5_data salt;
30     krb5_data s2kparams;
31     krb5_keyblock as_key;
32     krb5_enctype etype;
33     struct krb5_clpreauth_rock_st preauth_rock;
34     krb5_boolean enc_pa_rep_permitted;
35     krb5_boolean have_restarted;
36     krb5_boolean sent_nontrivial_preauth;
37     krb5_boolean preauth_required;
38 };
39
40 krb5_error_code
41 krb5_get_as_key_password(krb5_context context,
42                          krb5_principal client,
43                          krb5_enctype etype,
44                          krb5_prompter_fct prompter,
45                          void *prompter_data,
46                          krb5_data *salt,
47                          krb5_data *params,
48                          krb5_keyblock *as_key,
49                          void *gak_data);
50
51 #endif /* !KRB5_INIT_CREDS_CONTEXT */