From b717b40235b2433b26b20ced36142c250f9c411e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 7 Jun 2004 21:34:32 +0000 Subject: r1078: the dxesrv_crypto_* implementations should now explicit set the dce_conn->auth_state.session_info ( the ntlmssp one works fine, but the schannel one isn't implemented yet) this is also set by the ntvfs_ipc backend on the endpoint connect. metze (This used to be commit ad3dd1789e9f124493519cb4731d9f5a563fd051) --- source4/ntvfs/ipc/vfs_ipc.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'source4/ntvfs/ipc') diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c index 7ebf35d5cb..9279e0e85a 100644 --- a/source4/ntvfs/ipc/vfs_ipc.c +++ b/source4/ntvfs/ipc/vfs_ipc.c @@ -195,6 +195,7 @@ static NTSTATUS ipc_open_generic(struct request_context *req, const char *fname, TALLOC_CTX *mem_ctx; NTSTATUS status; struct dcesrv_ep_description ep_description; + struct auth_session_info *session_info = NULL; struct ipc_private *private = req->conn->ntvfs_private; mem_ctx = talloc_init("ipc_open '%s'", fname); @@ -240,7 +241,18 @@ static NTSTATUS ipc_open_generic(struct request_context *req, const char *fname, ep_description.type = ENDPOINT_SMB; ep_description.info.smb_pipe = p->pipe_name; - status = dcesrv_endpoint_search_connect(&req->smb->dcesrv, &ep_description, &p->dce_conn); + /* tell the RPC layer the session_info */ + if (req->user_ctx->vuser) { + /* + * TODO: we need to reference count the entire session_info + */ + session_info = req->user_ctx->vuser->session_info; + } + + status = dcesrv_endpoint_search_connect(&req->smb->dcesrv, + &ep_description, + session_info, + &p->dce_conn); if (!NT_STATUS_IS_OK(status)) { talloc_destroy(mem_ctx); return status; @@ -252,13 +264,6 @@ static NTSTATUS ipc_open_generic(struct request_context *req, const char *fname, *ps = p; - /* tell the RPC layer the transport session key */ - if (req->user_ctx->vuser) { - /* TODO: Fix this to push more than just a session key - * down - we need the entire session_info, reference counted... */ - dcesrv_set_session_key(p->dce_conn, req->user_ctx->vuser->session_info->session_key); - } - return NT_STATUS_OK; } -- cgit