summaryrefslogtreecommitdiffstats
path: root/fs/cifs/smb2pdu.h
diff options
context:
space:
mode:
authorSteve French2019-06-13 21:26:49 +0200
committerSteve French2019-07-08 05:37:42 +0200
commit43cdae88de2e8ec101961708ef7e51ba96776035 (patch)
tree87ff14ba952874406dc968e6fce70c1eb0ab4e62 /fs/cifs/smb2pdu.h
parentcifs: add missing GCM module dependency (diff)
downloadkernel-qcow2-linux-43cdae88de2e8ec101961708ef7e51ba96776035.tar.gz
kernel-qcow2-linux-43cdae88de2e8ec101961708ef7e51ba96776035.tar.xz
kernel-qcow2-linux-43cdae88de2e8ec101961708ef7e51ba96776035.zip
Fix match_server check to allow for auto dialect negotiate
When using multidialect negotiate (default or specifying vers=3.0 which allows any smb3 dialect), fix how we check for an existing server session. Before this fix if you mounted a second time to the same server (e.g. a different share on the same server) we would only reuse the existing smb session if a single dialect were requested (e.g. specifying vers=2.1 or vers=3.0 or vers=3.1.1 on the mount command). If a default mount (e.g. not specifying vers=) is done then would always create a new socket connection and SMB3 (or SMB3.1.1) session each time we connect to a different share on the same server rather than reusing the existing one. Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Diffstat (limited to 'fs/cifs/smb2pdu.h')
-rw-r--r--fs/cifs/smb2pdu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h
index c09d9244b728..fa8c12a21f1b 100644
--- a/fs/cifs/smb2pdu.h
+++ b/fs/cifs/smb2pdu.h
@@ -227,6 +227,7 @@ struct smb2_negotiate_req {
} __packed;
/* Dialects */
+#define SMB10_PROT_ID 0x0000 /* local only, not sent on wire w/CIFS negprot */
#define SMB20_PROT_ID 0x0202
#define SMB21_PROT_ID 0x0210
#define SMB30_PROT_ID 0x0300