diff options
author | Stefan Metzmacher <metze@samba.org> | 2013-09-17 04:12:30 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2013-09-17 09:40:10 +0200 |
commit | af290a03cef63c3b08446c1980de064a3b1c8804 (patch) | |
tree | 284995097f1b475371bca9da50e122866db5bb4e /libcli/smb | |
parent | 1d54d8c501afa151b6cc07b98a14caae2b31ec65 (diff) | |
download | samba-af290a03cef63c3b08446c1980de064a3b1c8804.tar.gz samba-af290a03cef63c3b08446c1980de064a3b1c8804.tar.bz2 samba-af290a03cef63c3b08446c1980de064a3b1c8804.zip |
libcli/smb: fix non mendatory signing against some vendor SMB2 servers.
Windows and Samba always sign the final session setup response
even if signing is not mendatory, but it ensures that the signing
key is correctly in place.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10146
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Sep 17 09:40:10 CEST 2013 on sn-devel-104
Diffstat (limited to 'libcli/smb')
-rw-r--r-- | libcli/smb/smbXcli_base.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 0fd3d4c2a0..f59f1f7ad2 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -4843,7 +4843,16 @@ NTSTATUS smb2cli_session_set_session_key(struct smbXcli_session *session, session->conn->protocol, recv_iov, 3); if (!NT_STATUS_IS_OK(status)) { - return status; + /* + * Sadly some vendors don't sign the + * final SMB2 session setup response + * + * At least Windows and Samba are always doing this + * if there's a session key available. + */ + if (conn->mandatory_signing) { + return status; + } } session->smb2->should_sign = false; |