From f70c9fb76c8d6fbe8585a644a408e1ff29596b9f Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 2 Jan 2012 15:50:07 +1100 Subject: [PATCH] s3-librpc Remove layer around struct gensec_security Signed-off-by: Stefan Metzmacher --- source3/librpc/crypto/cli_spnego.c | 16 ++++++++-------- source3/librpc/crypto/spnego.h | 4 +--- source3/rpc_server/dcesrv_spnego.c | 4 ++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/source3/librpc/crypto/cli_spnego.c b/source3/librpc/crypto/cli_spnego.c index dfc31b2d5251..d6956449e12e 100644 --- a/source3/librpc/crypto/cli_spnego.c +++ b/source3/librpc/crypto/cli_spnego.c @@ -132,7 +132,7 @@ NTSTATUS spnego_generic_init_client(TALLOC_CTX *mem_ctx, return status; } - sp_ctx->mech_ctx.gensec_security = talloc_move(sp_ctx, &auth_generic_state->gensec_security); + sp_ctx->gensec_security = talloc_move(sp_ctx, &auth_generic_state->gensec_security); TALLOC_FREE(auth_generic_state); *spnego_ctx = sp_ctx; return NT_STATUS_OK; @@ -200,7 +200,7 @@ NTSTATUS spnego_get_client_auth_token(TALLOC_CTX *mem_ctx, goto done; } - gensec_security = sp_ctx->mech_ctx.gensec_security; + gensec_security = sp_ctx->gensec_security; status = gensec_update(gensec_security, mem_ctx, NULL, token_in, &token_out); sp_ctx->more_processing = false; @@ -279,7 +279,7 @@ bool spnego_require_more_processing(struct spnego_context *sp_ctx) NTSTATUS spnego_get_negotiated_mech(struct spnego_context *sp_ctx, struct gensec_security **auth_context) { - *auth_context = sp_ctx->mech_ctx.gensec_security; + *auth_context = sp_ctx->gensec_security; return NT_STATUS_OK; } @@ -288,7 +288,7 @@ DATA_BLOB spnego_get_session_key(TALLOC_CTX *mem_ctx, { DATA_BLOB sk; NTSTATUS status; - status = gensec_session_key(sp_ctx->mech_ctx.gensec_security, mem_ctx, &sk); + status = gensec_session_key(sp_ctx->gensec_security, mem_ctx, &sk); if (!NT_STATUS_IS_OK(status)) { return data_blob_null; } @@ -301,7 +301,7 @@ NTSTATUS spnego_sign(TALLOC_CTX *mem_ctx, DATA_BLOB *signature) { return gensec_sign_packet( - sp_ctx->mech_ctx.gensec_security, + sp_ctx->gensec_security, mem_ctx, data->data, data->length, full_data->data, full_data->length, @@ -314,7 +314,7 @@ NTSTATUS spnego_sigcheck(TALLOC_CTX *mem_ctx, DATA_BLOB *signature) { return gensec_check_packet( - sp_ctx->mech_ctx.gensec_security, + sp_ctx->gensec_security, data->data, data->length, full_data->data, full_data->length, signature); @@ -326,7 +326,7 @@ NTSTATUS spnego_seal(TALLOC_CTX *mem_ctx, DATA_BLOB *signature) { return gensec_seal_packet( - sp_ctx->mech_ctx.gensec_security, + sp_ctx->gensec_security, mem_ctx, data->data, data->length, full_data->data, full_data->length, @@ -339,7 +339,7 @@ NTSTATUS spnego_unseal(TALLOC_CTX *mem_ctx, DATA_BLOB *signature) { return gensec_unseal_packet( - sp_ctx->mech_ctx.gensec_security, + sp_ctx->gensec_security, data->data, data->length, full_data->data, full_data->length, signature); diff --git a/source3/librpc/crypto/spnego.h b/source3/librpc/crypto/spnego.h index 5a63a7f9c4c0..a054b593b205 100644 --- a/source3/librpc/crypto/spnego.h +++ b/source3/librpc/crypto/spnego.h @@ -29,9 +29,7 @@ enum spnego_mech { struct spnego_context { enum spnego_mech mech; - union { - struct gensec_security *gensec_security; - } mech_ctx; + struct gensec_security *gensec_security; char *oid_list[ASN1_MAX_OIDS]; char *mech_oid; diff --git a/source3/rpc_server/dcesrv_spnego.c b/source3/rpc_server/dcesrv_spnego.c index 0a6b3b8512a8..37d6209d65b5 100644 --- a/source3/rpc_server/dcesrv_spnego.c +++ b/source3/rpc_server/dcesrv_spnego.c @@ -86,7 +86,7 @@ static NTSTATUS spnego_server_mech_init(struct spnego_context *sp_ctx, return status; } - sp_ctx->mech_ctx.gensec_security = gensec_security; + sp_ctx->gensec_security = gensec_security; return NT_STATUS_OK; } @@ -137,7 +137,7 @@ NTSTATUS spnego_server_step(struct spnego_context *sp_ctx, case SPNEGO_CONV_AUTH_MORE: status = auth_generic_server_step( - sp_ctx->mech_ctx.gensec_security, + sp_ctx->gensec_security, mem_ctx, &token_in, &token_out); break; -- 2.34.1