const char *principal;
const char *hostname;
krb5_data in_data;
+ krb5_data *in_data_p = NULL;
struct tevent_context *previous_ev;
+ if (lpcfg_parm_bool(gensec_security->settings->lp_ctx,
+ NULL, "gensec_krb5", "send_authenticator_checksum", true)) {
+ in_data.length = 0;
+ in_data_p = &in_data;
+ }
+
gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data;
principal = gensec_get_target_principal(gensec_security);
DEBUG(1, ("gensec_krb5_start: Aquiring initiator credentials failed: %s\n", error_string));
return NT_STATUS_UNSUCCESSFUL;
}
- in_data.length = 0;
/* Do this every time, in case we have weird recursive issues here */
ret = smb_krb5_context_set_event_ctx(gensec_krb5_state->smb_krb5_context, ev, &previous_ev);
&gensec_krb5_state->auth_context,
gensec_krb5_state->ap_req_options,
target_principal,
- &in_data, ccache_container->ccache,
+ in_data_p, ccache_container->ccache,
&gensec_krb5_state->enc_ticket);
krb5_free_principal(gensec_krb5_state->smb_krb5_context->krb5_context,
target_principal);
gensec_krb5_state->ap_req_options,
gensec_get_target_service(gensec_security),
hostname,
- &in_data, ccache_container->ccache,
+ in_data_p, ccache_container->ccache,
&gensec_krb5_state->enc_ticket);
}