We now just call the gensec_session_key() directly.
Andrew Bartlett
Signed-off-by: Stefan Metzmacher <metze@samba.org>
const char *domain);
NTSTATUS auth_ntlmssp_set_password(struct auth_ntlmssp_state *ans,
const char *password);
-DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans,
- TALLOC_CTX *mem_ctx);
-
NTSTATUS auth_ntlmssp_client_prepare(TALLOC_CTX *mem_ctx,
struct auth_ntlmssp_state **_ans);
NTSTATUS auth_ntlmssp_client_start(struct auth_ntlmssp_state *ans);
DATA_BLOB spnego_get_session_key(TALLOC_CTX *mem_ctx,
struct spnego_context *sp_ctx)
{
+ DATA_BLOB sk;
+ NTSTATUS status;
switch (sp_ctx->mech) {
case SPNEGO_KRB5:
return gse_get_session_key(mem_ctx,
sp_ctx->mech_ctx.gssapi_state);
case SPNEGO_NTLMSSP:
- return auth_ntlmssp_get_session_key(
- sp_ctx->mech_ctx.ntlmssp_state, mem_ctx);
+ status = gensec_session_key(sp_ctx->mech_ctx.ntlmssp_state->gensec_security, mem_ctx, &sk);
+ if (!NT_STATUS_IS_OK(status)) {
+ return data_blob_null;
+ }
+ return sk;
default:
DEBUG(0, ("Unsupported type in request!\n"));
return data_blob_null;
return NT_STATUS_OK;
}
-DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans, TALLOC_CTX *mem_ctx)
-{
- DATA_BLOB session_key;
- NTSTATUS status = gensec_session_key(ans->gensec_security, mem_ctx, &session_key);
- if (NT_STATUS_IS_OK(status)) {
- return session_key;
- } else {
- return data_blob_null;
- }
-}
-
static NTSTATUS gensec_ntlmssp3_client_update(struct gensec_security *gensec_security,
TALLOC_CTX *out_mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
DATA_BLOB *session_key)
{
+ NTSTATUS status;
struct pipe_auth_data *a;
struct schannel_state *schannel_auth;
struct auth_ntlmssp_state *ntlmssp_ctx;
case DCERPC_AUTH_TYPE_NTLMSSP:
ntlmssp_ctx = talloc_get_type_abort(a->auth_ctx,
struct auth_ntlmssp_state);
- sk = auth_ntlmssp_get_session_key(ntlmssp_ctx, mem_ctx);
+ status = gensec_session_key(ntlmssp_ctx->gensec_security, mem_ctx, &sk);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
make_dup = false;
break;
case DCERPC_AUTH_TYPE_KRB5: