summaryrefslogtreecommitdiff
path: root/source4/libcli/raw
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-04-07 07:18:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:51:06 -0500
commita8a42e7f53c67b09954ea2232830c07c6e011aa0 (patch)
treedb68f2c2649d3eb84822b9ef34442f711cac7a6f /source4/libcli/raw
parent43caaa54e7ed0e72faed9e210a9f0e672e4e7d86 (diff)
downloadsamba-a8a42e7f53c67b09954ea2232830c07c6e011aa0.tar.gz
r100: remember the user session key during session setup so it can be used in various crypto
routines (This used to be commit f6cf9020c8899e784385ea0e14fa465685441ee6)
Diffstat (limited to 'source4/libcli/raw')
-rw-r--r--source4/libcli/raw/clisession.c2
-rw-r--r--source4/libcli/raw/clitransport.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/source4/libcli/raw/clisession.c b/source4/libcli/raw/clisession.c
index c5d4888089c..1c0af77d11d 100644
--- a/source4/libcli/raw/clisession.c
+++ b/source4/libcli/raw/clisession.c
@@ -247,6 +247,8 @@ static void setup_nt1_signing(struct cli_transport *transport, const char *passw
SMBsesskeygen_ntv1(nt_hash, NULL, session_key);
nt_response = nt_blob(password, transport->negotiate.secblob);
+ cli_transport_set_session_key(transport, session_key);
+
cli_transport_simple_set_signing(transport, session_key, nt_response);
}
diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c
index 2d614cc3bdf..62152bbe4d9 100644
--- a/source4/libcli/raw/clitransport.c
+++ b/source4/libcli/raw/clitransport.c
@@ -222,3 +222,12 @@ BOOL cli_transport_select(struct cli_transport *transport)
return True;
}
+
+/*
+ store the user session key for a transport
+*/
+void cli_transport_set_session_key(struct cli_transport *transport,
+ const uint8 session_key[16])
+{
+ memcpy(transport->negotiate.user_session_key, session_key, 16);
+}