Lines Matching refs:context

83     krb5_preauth_context *context = NULL;  in krb5_init_preauth_context()  local
128 context = malloc(sizeof(*context)); in krb5_init_preauth_context()
129 if (context == NULL) { in krb5_init_preauth_context()
133 context->modules = malloc(sizeof(context->modules[0]) * n_modules); in krb5_init_preauth_context()
134 if (context->modules == NULL) { in krb5_init_preauth_context()
136 free(context); in krb5_init_preauth_context()
139 memset(context->modules, 0, sizeof(context->modules[0]) * n_modules); in krb5_init_preauth_context()
140 context->n_modules = n_modules; in krb5_init_preauth_context()
160 context->modules[k].pa_type = pa_type; in krb5_init_preauth_context()
161 context->modules[k].enctypes = table->enctype_list; in krb5_init_preauth_context()
162 context->modules[k].plugin_context = plugin_context; in krb5_init_preauth_context()
165 context->modules[k].client_fini = table->fini; in krb5_init_preauth_context()
167 context->modules[k].client_fini = NULL; in krb5_init_preauth_context()
168 context->modules[k].ftable = table; in krb5_init_preauth_context()
169 context->modules[k].name = table->name; in krb5_init_preauth_context()
170 context->modules[k].flags = (*table->flags)(kcontext, pa_type); in krb5_init_preauth_context()
171 context->modules[k].use_count = 0; in krb5_init_preauth_context()
172 context->modules[k].client_process = table->process; in krb5_init_preauth_context()
173 context->modules[k].client_tryagain = table->tryagain; in krb5_init_preauth_context()
175 context->modules[k].client_supply_gic_opts = table->gic_opts; in krb5_init_preauth_context()
177 context->modules[k].client_supply_gic_opts = NULL; in krb5_init_preauth_context()
178 context->modules[k].request_context = NULL; in krb5_init_preauth_context()
188 context->modules[k].client_req_init = table->request_init; in krb5_init_preauth_context()
189 context->modules[k].client_req_fini = table->request_fini; in krb5_init_preauth_context()
190 rcpp = &context->modules[k].request_context; in krb5_init_preauth_context()
192 context->modules[k].client_req_init = NULL; in krb5_init_preauth_context()
193 context->modules[k].client_req_fini = NULL; in krb5_init_preauth_context()
195 context->modules[k].request_context_pp = rcpp; in krb5_init_preauth_context()
198 context->modules[k].name, in krb5_init_preauth_context()
199 context->modules[k].pa_type, in krb5_init_preauth_context()
200 context->modules[k].flags); in krb5_init_preauth_context()
209 kcontext->preauth_context = context; in krb5_init_preauth_context()
216 krb5_clear_preauth_context_use_counts(krb5_context context) in krb5_clear_preauth_context_use_counts() argument
219 if (context->preauth_context != NULL) { in krb5_clear_preauth_context_use_counts()
220 for (i = 0; i < context->preauth_context->n_modules; i++) { in krb5_clear_preauth_context_use_counts()
221 context->preauth_context->modules[i].use_count = 0; in krb5_clear_preauth_context_use_counts()
231 krb5_preauth_supply_preauth_data(krb5_context context, in krb5_preauth_supply_preauth_data() argument
241 if (context->preauth_context == NULL) in krb5_preauth_supply_preauth_data()
242 krb5_init_preauth_context(context); in krb5_preauth_supply_preauth_data()
243 if (context->preauth_context == NULL) { in krb5_preauth_supply_preauth_data()
245 krb5int_set_error(&context->err, retval, in krb5_preauth_supply_preauth_data()
255 for (i = 0; i < context->preauth_context->n_modules; i++) { in krb5_preauth_supply_preauth_data()
256 if (context->preauth_context->modules[i].client_supply_gic_opts == NULL) in krb5_preauth_supply_preauth_data()
258 pctx = context->preauth_context->modules[i].plugin_context; in krb5_preauth_supply_preauth_data()
259 retval = (*context->preauth_context->modules[i].client_supply_gic_opts) in krb5_preauth_supply_preauth_data()
260 (context, pctx, in krb5_preauth_supply_preauth_data()
263 emsg = krb5_get_error_message(context, retval); in krb5_preauth_supply_preauth_data()
264 krb5int_set_error(&context->err, retval, "Preauth plugin %s: %s", in krb5_preauth_supply_preauth_data()
265 context->preauth_context->modules[i].name, emsg); in krb5_preauth_supply_preauth_data()
276 krb5_free_preauth_context(krb5_context context) in krb5_free_preauth_context() argument
280 if (context->preauth_context != NULL) { in krb5_free_preauth_context()
281 for (i = 0; i < context->preauth_context->n_modules; i++) { in krb5_free_preauth_context()
282 pctx = context->preauth_context->modules[i].plugin_context; in krb5_free_preauth_context()
283 if (context->preauth_context->modules[i].client_fini != NULL) { in krb5_free_preauth_context()
284 (*context->preauth_context->modules[i].client_fini)(context, pctx); in krb5_free_preauth_context()
286 memset(&context->preauth_context->modules[i], 0, in krb5_free_preauth_context()
287 sizeof(context->preauth_context->modules[i])); in krb5_free_preauth_context()
289 if (context->preauth_context->modules != NULL) { in krb5_free_preauth_context()
290 free(context->preauth_context->modules); in krb5_free_preauth_context()
291 context->preauth_context->modules = NULL; in krb5_free_preauth_context()
293 free(context->preauth_context); in krb5_free_preauth_context()
294 context->preauth_context = NULL; in krb5_free_preauth_context()
301 krb5_preauth_request_context_init(krb5_context context) in krb5_preauth_request_context_init() argument
307 if (context->preauth_context == NULL) in krb5_preauth_request_context_init()
308 krb5_init_preauth_context(context); in krb5_preauth_request_context_init()
309 if (context->preauth_context != NULL) { in krb5_preauth_request_context_init()
310 for (i = 0; i < context->preauth_context->n_modules; i++) { in krb5_preauth_request_context_init()
311 pctx = context->preauth_context->modules[i].plugin_context; in krb5_preauth_request_context_init()
312 if (context->preauth_context->modules[i].client_req_init != NULL) { in krb5_preauth_request_context_init()
313 rctx = context->preauth_context->modules[i].request_context_pp; in krb5_preauth_request_context_init()
314 (*context->preauth_context->modules[i].client_req_init) (context, pctx, rctx); in krb5_preauth_request_context_init()
323 krb5_preauth_request_context_fini(krb5_context context) in krb5_preauth_request_context_fini() argument
327 if (context->preauth_context != NULL) { in krb5_preauth_request_context_fini()
328 for (i = 0; i < context->preauth_context->n_modules; i++) { in krb5_preauth_request_context_fini()
329 pctx = context->preauth_context->modules[i].plugin_context; in krb5_preauth_request_context_fini()
330 rctx = context->preauth_context->modules[i].request_context; in krb5_preauth_request_context_fini()
332 if (context->preauth_context->modules[i].client_req_fini != NULL) { in krb5_preauth_request_context_fini()
333 (*context->preauth_context->modules[i].client_req_fini)(context, pctx, rctx); in krb5_preauth_request_context_fini()
335 context->preauth_context->modules[i].request_context = NULL; in krb5_preauth_request_context_fini()
589 krb5_error_code pa_salt(krb5_context context, in pa_salt() argument
604 krb5_free_data_contents(context, salt); in pa_salt()
605 krb5int_copy_data_contents(context, &tmp, salt); in pa_salt()
616 krb5_error_code pa_enc_timestamp(krb5_context context, in pa_enc_timestamp() argument
647 if ((ret = ((*gak_fct)(context, request->client, in pa_enc_timestamp()
656 if ((ret = krb5_us_timeofday(context, &pa_enc.patimestamp, &pa_enc.pausec))) in pa_enc_timestamp()
667 ret = krb5_encrypt_helper(context, as_key, in pa_enc_timestamp()
677 krb5_free_data(context, tmp); in pa_enc_timestamp()
692 krb5_free_data(context, tmp); in pa_enc_timestamp()
760 krb5_error_code pa_sam(krb5_context context, in pa_sam() argument
819 if ((ret = (gak_fct)(context, request->client, *etype, prompter, in pa_sam()
848 krb5int_set_prompt_types(context, &prompt_type); in pa_sam()
849 if ((ret = ((*prompter)(context, prompter_data, name, in pa_sam()
852 krb5int_set_prompt_types(context, 0); in pa_sam()
855 krb5int_set_prompt_types(context, 0); in pa_sam()
859 if ((ret = krb5_us_timeofday(context, in pa_sam()
878 krb5_free_keyblock_contents(context, as_key); in pa_sam()
885 if ((ret = krb5_principal2salt(context, request->client, in pa_sam()
898 ret = krb5_c_string_to_key(context, ENCTYPE_DES_CBC_MD5, in pa_sam()
917 krb5_free_keyblock_contents(context, as_key); in pa_sam()
923 if (ret = krb5_principal2salt(context, request->client, in pa_sam()
942 ret = krb5_c_string_to_key(context, ENCTYPE_DES_CBC_MD5, in pa_sam()
979 if ((ret = krb5_c_encrypt_length(context, as_key->enctype, in pa_sam()
981 krb5_free_data(context, scratch); in pa_sam()
993 krb5_free_data(context, scratch); in pa_sam()
997 if ((ret = krb5_c_encrypt(context, as_key, 0, 0, in pa_sam()
1004 krb5_free_data(context, scratch); in pa_sam()
1031 krb5_error_code pa_sam_2(krb5_context context, in pa_sam_2() argument
1076 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1077 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1082 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1083 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1088 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1089 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1105 retval = (gak_fct)(context, request->client, in pa_sam_2()
1109 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1110 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1137 krb5int_set_prompt_types(context, &prompt_type); in pa_sam_2()
1139 if ((retval = ((*prompter)(context, prompter_data, name, in pa_sam_2()
1141 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1142 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1143 krb5int_set_prompt_types(context, 0); in pa_sam_2()
1147 krb5int_set_prompt_types(context, (krb5_prompt_type *)NULL); in pa_sam_2()
1152 krb5_principal2salt(context, request->client, &defsalt))) { in pa_sam_2()
1153 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1154 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1167 krb5_free_keyblock_contents(context, as_key); in pa_sam_2()
1172 retval = krb5_c_string_to_key(context, sc2b->sam_etype, in pa_sam_2()
1176 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1177 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1186 retval = krb5_c_string_to_key(context, sc2b->sam_etype, in pa_sam_2()
1190 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1191 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1198 retval = krb5int_c_combine_keys(context, as_key, &tmp_kb, as_key); in pa_sam_2()
1201 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1202 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1206 krb5_free_keyblock_contents(context, &tmp_kb); in pa_sam_2()
1216 krb5_free_keyblock_contents(context, as_key); in pa_sam_2()
1221 retval = krb5_c_string_to_key(context, sc2b->sam_etype, in pa_sam_2()
1228 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1229 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1240 retval = krb5_c_verify_checksum(context, as_key, in pa_sam_2()
1245 krb5_free_data(context, scratch); in pa_sam_2()
1246 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1247 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1263 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1264 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1287 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1288 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1302 retval = krb5_c_encrypt_length(context, as_key->enctype, scratch->length, in pa_sam_2()
1305 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1306 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1315 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1316 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1320 retval = krb5_c_encrypt(context, as_key, KRB5_KEYUSAGE_PA_SAM_RESPONSE, in pa_sam_2()
1323 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1324 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1325 krb5_free_data(context, scratch); in pa_sam_2()
1326 krb5_free_data_contents(context, &sr2.sam_enc_nonce_or_sad.ciphertext); in pa_sam_2()
1329 krb5_free_data(context, scratch); in pa_sam_2()
1334 krb5_free_sam_challenge_2(context, sc2); in pa_sam_2()
1335 krb5_free_sam_challenge_2_body(context, sc2b); in pa_sam_2()
1336 krb5_free_data_contents(context, &sr2.sam_enc_nonce_or_sad.ciphertext); in pa_sam_2()
1345 krb5_free_data(context, scratch); in pa_sam_2()
1415 krb5_preauth_context *context; in krb5_do_preauth_tryagain() local
1424 context = kcontext->preauth_context; in krb5_do_preauth_tryagain()
1425 if (context == NULL) { in krb5_do_preauth_tryagain()
1431 for (j = 0; j < context->n_modules; j++) { in krb5_do_preauth_tryagain()
1432 module = &context->modules[j]; in krb5_do_preauth_tryagain()
1469 krb5_do_preauth(krb5_context context, in krb5_do_preauth() argument
1537 krb5_free_etype_info( context, etype_info); in krb5_do_preauth()
1552 krb5_free_etype_info( context, etype_info); in krb5_do_preauth()
1557 krb5_free_etype_info(context, etype_info); in krb5_do_preauth()
1598 krb5_free_data_contents(context, salt); in krb5_do_preauth()
1602 if ((ret = krb5int_copy_data_contents( context, &scratch, salt)) != 0) in krb5_do_preauth()
1605 krb5_free_data_contents(context, s2kparams); in krb5_do_preauth()
1606 if ((ret = krb5int_copy_data_contents(context, in krb5_do_preauth()
1640 if ((ret = ((*pa_types[j].fct)(context, request, in krb5_do_preauth()
1660 krb5_init_preauth_context(context); in krb5_do_preauth()
1661 if (context->preauth_context != NULL) { in krb5_do_preauth()
1667 ret = krb5_run_preauth_plugins(context, in krb5_do_preauth()
1699 krb5_free_etype_info(context, etype_info); in krb5_do_preauth()
1707 krb5_free_pa_data(context, out_pa_list); in krb5_do_preauth()
1710 krb5_free_etype_info(context, etype_info); in krb5_do_preauth()