diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-06-07 08:30:51 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-06-07 08:30:51 -0700 |
commit | 1c33953ae21384f04de11539afaf9ead5e413b96 (patch) | |
tree | f026d5693323cd9ff66b0b67564f181f2b18e1bf /source4/libcli/smb2/transport.c | |
parent | e4ad580b99c5b372353c285569204ab94c177748 (diff) | |
download | samba-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.c | 12 |
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; |