diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-06-07 21:34:32 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:56:37 -0500 |
commit | b717b40235b2433b26b20ced36142c250f9c411e (patch) | |
tree | a473705f0b0a7a509d0d675998b763fc6e244a65 /source4/ntvfs/ipc | |
parent | fb1cc0fc0d0dec3384886b42e9377b531defe352 (diff) | |
download | samba-b717b40235b2433b26b20ced36142c250f9c411e.tar.gz samba-b717b40235b2433b26b20ced36142c250f9c411e.tar.bz2 samba-b717b40235b2433b26b20ced36142c250f9c411e.zip |
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)
Diffstat (limited to 'source4/ntvfs/ipc')
-rw-r--r-- | source4/ntvfs/ipc/vfs_ipc.c | 21 |
1 files changed, 13 insertions, 8 deletions
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; } |