1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
3 #ifndef KRB5_INIT_CREDS_CONTEXT
4 #define KRB5_INIT_CREDS_CONTEXT 1
6 struct _krb5_init_creds_context {
7 krb5_gic_opt_ext *opte;
9 krb5_prompter_fct prompter;
11 krb5_gic_get_as_key_fct gak_fct;
13 krb5_timestamp request_time;
14 krb5_deltat start_time;
16 krb5_deltat renew_life;
17 krb5_boolean complete;
18 unsigned int loopcount;
20 krb5_error *err_reply;
21 krb5_pa_data **err_padata;
23 krb5_kdc_req *request;
26 * Stores the outer request body in order to feed into FAST for
27 * checksumming. This is maintained even if FAST is not used. This is not
28 * used for preauth: that requires the inner request body. For AS-only
29 * FAST it would be better for krb5int_fast_prep_req() to simply generate
30 * this. However for TGS FAST, the client needs to supply the
31 * to_be_checksummed data. Whether this should be refactored should be
32 * revisited as TGS fast is integrated.
34 krb5_data *outer_request_body;
35 krb5_data *inner_request_body; /**< For preauth */
36 krb5_data *encoded_previous_request;
37 struct krb5int_fast_request_state *fast_state;
38 krb5_pa_data **preauth_to_use;
39 krb5_boolean default_salt;
44 struct krb5_clpreauth_rock_st preauth_rock;
45 krb5_boolean enc_pa_rep_permitted;
46 krb5_boolean have_restarted;
47 krb5_boolean sent_nontrivial_preauth;
48 krb5_boolean preauth_required;
52 krb5_get_as_key_password(krb5_context context,
53 krb5_principal client,
55 krb5_prompter_fct prompter,
59 krb5_keyblock *as_key,
62 #endif /* !KRB5_INIT_CREDS_CONTEXT */