summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc/dcerpc_smb.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-09-09 14:31:27 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:35 -0500
commit22275a4c2f80b69828ffa89424476baa28fa3fa9 (patch)
tree9d68ce7d4fac22c8850d8bc20e92ac31b7429638 /source4/librpc/rpc/dcerpc_smb.c
parent93454ff3d8177fb71443808f01740dbbe7e46dd8 (diff)
downloadsamba-22275a4c2f80b69828ffa89424476baa28fa3fa9.tar.gz
samba-22275a4c2f80b69828ffa89424476baa28fa3fa9.tar.bz2
samba-22275a4c2f80b69828ffa89424476baa28fa3fa9.zip
r2266: yay! LSA session keys on TCP now work!
(This used to be commit f6ea24296acaaadcd2d59740bc88ef1a93fb1c28)
Diffstat (limited to 'source4/librpc/rpc/dcerpc_smb.c')
-rw-r--r--source4/librpc/rpc/dcerpc_smb.c16
1 files changed, 16 insertions, 0 deletions
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;