summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-09-17 04:12:30 +0200
committerStefan Metzmacher <metze@samba.org>2013-09-17 09:40:10 +0200
commitaf290a03cef63c3b08446c1980de064a3b1c8804 (patch)
tree284995097f1b475371bca9da50e122866db5bb4e /libcli
parent1d54d8c501afa151b6cc07b98a14caae2b31ec65 (diff)
downloadsamba-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')
-rw-r--r--libcli/smb/smbXcli_base.c11
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;