summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcerpc_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/rpc_server/dcerpc_server.c')
-rw-r--r--source4/rpc_server/dcerpc_server.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
index fd806c5289..2c0db15081 100644
--- a/source4/rpc_server/dcerpc_server.c
+++ b/source4/rpc_server/dcerpc_server.c
@@ -268,8 +268,9 @@ NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx,
(*p)->cli_max_recv_frag = 0;
(*p)->handles = NULL;
(*p)->partial_input = data_blob(NULL, 0);
- (*p)->auth_state.crypto_state = NULL;
(*p)->auth_state.auth_info = NULL;
+ (*p)->auth_state.crypto_ctx.private_data = NULL;
+ (*p)->auth_state.crypto_ctx.ops = NULL;
(*p)->session_key = data_blob(NULL, 0);
return NT_STATUS_OK;
@@ -326,7 +327,11 @@ void dcesrv_endpoint_disconnect(struct dcesrv_connection *p)
while (p->handles) {
dcesrv_handle_destroy(p, p->handles);
}
-
+
+ if (p->auth_state.crypto_ctx.ops) {
+ p->auth_state.crypto_ctx.ops->end(&p->auth_state);
+ }
+
talloc_destroy(p->mem_ctx);
}