s3:smbd: unimplement FSCTL_VALIDATE_NEGOTIATE_INFO with "server max protocol = SMB2_02"
authorStefan Metzmacher <metze@samba.org>
Fri, 5 May 2017 16:49:37 +0000 (18:49 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 30 Jun 2017 08:50:22 +0000 (10:50 +0200)
commit545b0c420d567f1f50dac734a97b478fd09bd985
tree9b89401be95e7bcfcdb416ae8cee43cbbf81c7d1
parent18f3dbb9941a173188eaddab546407b91bb7a2c5
s3:smbd: unimplement FSCTL_VALIDATE_NEGOTIATE_INFO with "server max protocol = SMB2_02"

A client that supports SMB3 will do a signed FSCTL_VALIDATE_NEGOTIATE_INFO
after a tree connect. This FSCTL_VALIDATE_NEGOTIATE_INFO call contains
the client capabilities, client guid, security mode and the array of supported
dialects. But if SMB 2.02 is negotiated the doesn't send these values to the
server in the first connection attempt (when the client starts with a SMB1 Negotiate).

Windows servers that only support SMB2 just return NT_STATUS_FILE_CLOSED
as answer to FSCTL_VALIDATE_NEGOTIATE_INFO.

We should do the same if we just pretend to support SMB 2.02,
as SMB 2.10 always include an SMB2 Negotiate request we can leave it as is.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12772

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit 295c9f7b322e6377d0df1b49cb26597d66e80eda)
source3/smbd/smb2_ioctl_network_fs.c