From 22275a4c2f80b69828ffa89424476baa28fa3fa9 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 9 Sep 2004 14:31:27 +0000 Subject: r2266: yay! LSA session keys on TCP now work! (This used to be commit f6ea24296acaaadcd2d59740bc88ef1a93fb1c28) --- source4/librpc/rpc/dcerpc_smb.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source4/librpc/rpc/dcerpc_smb.c') diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c index deef2232bf..fa9101bbd6 100644 --- a/source4/librpc/rpc/dcerpc_smb.c +++ b/source4/librpc/rpc/dcerpc_smb.c @@ -348,6 +348,21 @@ static const char *smb_peer_name(struct dcerpc_pipe *p) return smb->tree->session->transport->called.name; } +/* + fetch the user session key +*/ +NTSTATUS smb_session_key(struct dcerpc_pipe *p, DATA_BLOB *session_key) +{ + struct smb_private *smb = p->transport.private; + + if (smb->tree->session->user_session_key.data) { + *session_key = smb->tree->session->user_session_key; + return NT_STATUS_OK; + } + + return NT_STATUS_NO_USER_SESSION_KEY; +} + /* open a rpc connection to a named pipe */ @@ -410,6 +425,7 @@ NTSTATUS dcerpc_pipe_open_smb(struct dcerpc_pipe **p, (*p)->transport.private = NULL; (*p)->transport.shutdown_pipe = smb_shutdown_pipe; (*p)->transport.peer_name = smb_peer_name; + (*p)->transport.session_key = smb_session_key; (*p)->transport.send_request = smb_send_request; (*p)->transport.send_read = send_read_request; -- cgit