summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2012-07-26 00:11:13 +0200
committerStefan Metzmacher <metze@samba.org>2012-07-26 02:08:56 +0200
commitdf08929d28cab9f3d5fda573e2c2649b651f3e4c (patch)
treecf7cceb3825ca64966331a307e8ff0d0d7a19b03
parent46e08eb75f7ca179c1708b601ccf4c601278fbda (diff)
downloadsamba-df08929d28cab9f3d5fda573e2c2649b651f3e4c.tar.gz
samba-df08929d28cab9f3d5fda573e2c2649b651f3e4c.tar.bz2
samba-df08929d28cab9f3d5fda573e2c2649b651f3e4c.zip
s3:smb2_sesssetup: reject SMB2_SESSION_FLAG_BINDING requests
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Thu Jul 26 02:08:56 CEST 2012 on sn-devel-104
-rw-r--r--source3/smbd/smb2_sesssetup.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c
index 85bcc05c4a..5355292967 100644
--- a/source3/smbd/smb2_sesssetup.c
+++ b/source3/smbd/smb2_sesssetup.c
@@ -441,6 +441,19 @@ static struct tevent_req *smbd_smb2_session_setup_send(TALLOC_CTX *mem_ctx,
state->in_previous_session_id = in_previous_session_id;
state->in_security_buffer = in_security_buffer;
+ if (in_flags & SMB2_SESSION_FLAG_BINDING) {
+ if (smb2req->sconn->conn->protocol < PROTOCOL_SMB2_22) {
+ tevent_req_nterror(req, NT_STATUS_REQUEST_NOT_ACCEPTED);
+ return tevent_req_post(req, ev);
+ }
+
+ /*
+ * We do not support multi channel.
+ */
+ tevent_req_nterror(req, NT_STATUS_NOT_SUPPORTED);
+ return tevent_req_post(req, ev);
+ }
+
talloc_set_destructor(state, smbd_smb2_session_setup_state_destructor);
if (state->in_session_id == 0) {