summaryrefslogtreecommitdiff
path: root/source4/libcli/smb2/transport.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-06-07 08:30:51 -0700
committerAndrew Tridgell <tridge@samba.org>2008-06-07 08:30:51 -0700
commit1c33953ae21384f04de11539afaf9ead5e413b96 (patch)
treef026d5693323cd9ff66b0b67564f181f2b18e1bf /source4/libcli/smb2/transport.c
parente4ad580b99c5b372353c285569204ab94c177748 (diff)
downloadsamba-1c33953ae21384f04de11539afaf9ead5e413b96.tar.gz
samba-1c33953ae21384f04de11539afaf9ead5e413b96.tar.bz2
samba-1c33953ae21384f04de11539afaf9ead5e413b96.zip
make signing per session in the SMB2 client library
Thanks to Metze for spotting this (This used to be commit e9fd9b821c04d1cb7b574f539dd8169611e662aa)
Diffstat (limited to 'source4/libcli/smb2/transport.c')
-rw-r--r--source4/libcli/smb2/transport.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/source4/libcli/smb2/transport.c b/source4/libcli/smb2/transport.c
index a9a9efb3aa..6e0d523e21 100644
--- a/source4/libcli/smb2/transport.c
+++ b/source4/libcli/smb2/transport.c
@@ -235,10 +235,9 @@ static NTSTATUS smb2_transport_finish_recv(void *private, DATA_BLOB blob)
req->in.body_size = req->in.size - (SMB2_HDR_BODY+NBT_HDR_SIZE);
req->status = NT_STATUS(IVAL(hdr, SMB2_HDR_STATUS));
- if (transport->signing.signing_started &&
- transport->signing.doing_signing) {
+ if (req->session && transport->signing.doing_signing) {
status = smb2_check_signature(&req->in,
- transport->signing.session_key);
+ req->session->session_key);
if (!NT_STATUS_IS_OK(status)) {
/* the spec says to ignore packets with a bad signature */
talloc_free(buffer);
@@ -353,9 +352,10 @@ void smb2_transport_send(struct smb2_request *req)
}
/* possibly sign the message */
- if (req->transport->signing.doing_signing &&
- req->transport->signing.signing_started) {
- status = smb2_sign_message(&req->out, req->transport->signing.session_key);
+ if (req->transport->signing.doing_signing &&
+ req->transport->signing.signing_started &&
+ req->session) {
+ status = smb2_sign_message(&req->out, req->session->session_key);
if (!NT_STATUS_IS_OK(status)) {
req->state = SMB2_REQUEST_ERROR;
req->status = status;