Hans Leidekker (@hans) commented about dlls/kerberos/krb5_ap.c:
params.output_token_length = &output->pBuffers[idx].cbBuffer; status = KRB5_CALL( initialize_context, ¶ms );
*new_context = create_context_handle( context_handle, new_context_handle ); if (!status) {
*new_context = create_context_handle( context_handle, new_context_handle ); *mapped_context = TRUE; expiry_to_timestamp( exptime, expiry ); }
As I mentioned in the bug report, the new context is updated when initialize_context() returns SEC_E_OK or SEC_I_CONTINUE_NEEDED. That should be reflected here.