SPNEGO is implemented only in terms of gensec mechanisms now.
Andrew Bartlett
Signed-off-by: Stefan Metzmacher <metze@samba.org>
return NT_STATUS_OK;
}
-DATA_BLOB spnego_get_session_key(TALLOC_CTX *mem_ctx,
- struct spnego_context *sp_ctx)
-{
- DATA_BLOB sk;
- NTSTATUS status;
- status = gensec_session_key(sp_ctx->gensec_security, mem_ctx, &sk);
- if (!NT_STATUS_IS_OK(status)) {
- return data_blob_null;
- }
- return sk;
-}
-
NTSTATUS spnego_sign(TALLOC_CTX *mem_ctx,
struct spnego_context *sp_ctx,
DATA_BLOB *data, DATA_BLOB *full_data,
NTSTATUS spnego_get_negotiated_mech(struct spnego_context *sp_ctx,
struct gensec_security **auth_context);
-DATA_BLOB spnego_get_session_key(TALLOC_CTX *mem_ctx,
- struct spnego_context *sp_ctx);
-
NTSTATUS spnego_sign(TALLOC_CTX *mem_ctx,
struct spnego_context *sp_ctx,
DATA_BLOB *data, DATA_BLOB *full_data,
case DCERPC_AUTH_TYPE_SPNEGO:
spnego_ctx = talloc_get_type_abort(a->auth_ctx,
struct spnego_context);
- sk = spnego_get_session_key(mem_ctx, spnego_ctx);
+ status = spnego_get_negotiated_mech(spnego_ctx, &gensec_security);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+ status = gensec_session_key(gensec_security, mem_ctx, &sk);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
make_dup = false;
break;
case DCERPC_AUTH_TYPE_NTLMSSP: