goto cleanup;
if (isflagset(request->kdc_options, KDC_OPT_CNAME_IN_ADDL_TKT)) {
- /* Do constrained delegation protocol and authorization checks */
+ /* Do constrained delegation protocol and authorization checks. */
setflag(c_flags, KRB5_KDB_FLAG_CONSTRAINED_DELEGATION);
errcode = kdc_process_s4u2proxy_req(kdc_active_realm, c_flags, request,
goto cleanup;
assert(krb5_is_tgs_principal(header_ticket->server));
+
+ /* Use the parsed authdata from the second ticket during authdata
+ * handling. */
+ krb5_db_free_authdata_info(kdc_context, ad_info);
+ ad_info = stkt_ad_info;
+ stkt_ad_info = NULL;
}
au_state->stage = ISSUE_TKT;
subkey != NULL ? subkey :
header_ticket->enc_part2->session,
encrypting_key, subject_key, pkt, request,
- altcprinc, stkt_ad_info ? stkt_ad_info : ad_info,
- subject_tkt, &auth_indicators, &enc_tkt_reply);
+ altcprinc, ad_info, subject_tkt,
+ &auth_indicators, &enc_tkt_reply);
if (errcode) {
krb5_klog_syslog(LOG_INFO, _("TGS_REQ : handle_authdata (%d)"),
errcode);