summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_negprot.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2012-05-05 09:35:17 +0200
committerStefan Metzmacher <metze@samba.org>2012-05-06 14:50:39 +0200
commit1512ec777285e731625330ddf8794168748376fb (patch)
tree20f8da8199a6cafb2aded94e8fa48032e28a1daf /source3/smbd/smb2_negprot.c
parent49acba37e78bc7cbcfe7cc69eea0421da9232999 (diff)
downloadsamba-1512ec777285e731625330ddf8794168748376fb.tar.gz
samba-1512ec777285e731625330ddf8794168748376fb.tar.bz2
samba-1512ec777285e731625330ddf8794168748376fb.zip
s3:smb2_negprot: add support for PROTOCOL_SMB3_00
metze
Diffstat (limited to 'source3/smbd/smb2_negprot.c')
-rw-r--r--source3/smbd/smb2_negprot.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/smbd/smb2_negprot.c b/source3/smbd/smb2_negprot.c
index 03514759fe..916b26a7f1 100644
--- a/source3/smbd/smb2_negprot.c
+++ b/source3/smbd/smb2_negprot.c
@@ -120,6 +120,21 @@ NTSTATUS smbd_smb2_request_process_negprot(struct smbd_smb2_request *req)
indyn = (const uint8_t *)req->in.vector[i+2].iov_base;
for (c=0; protocol == PROTOCOL_NONE && c < dialect_count; c++) {
+ if (lp_srv_maxprotocol() < PROTOCOL_SMB3_00) {
+ break;
+ }
+ if (lp_srv_minprotocol() > PROTOCOL_SMB3_00) {
+ break;
+ }
+
+ dialect = SVAL(indyn, c*2);
+ if (dialect == SMB3_DIALECT_REVISION_300) {
+ protocol = PROTOCOL_SMB3_00;
+ break;
+ }
+ }
+
+ for (c=0; protocol == PROTOCOL_NONE && c < dialect_count; c++) {
if (lp_srv_maxprotocol() < PROTOCOL_SMB2_24) {
break;
}