diff options
author | Steve French <smfrench@gmail.com> | 2012-10-01 12:26:22 -0500 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-10-01 12:26:22 -0500 |
commit | e4aa25e7801163df058f62c617b859e9d3d4b148 (patch) | |
tree | 1c69663679f64f8a24c71cfe5efb2cbeb2ab4ee9 /fs/cifs/connect.c | |
parent | c052e2b423f3eabe9f3f32e60744afa5cf26f6b9 (diff) | |
download | blackbird-op-linux-e4aa25e7801163df058f62c617b859e9d3d4b148.tar.gz blackbird-op-linux-e4aa25e7801163df058f62c617b859e9d3d4b148.zip |
[CIFS] Fix SMB2 negotiation support to select only one dialect (based on vers=)
Based on whether the user (on mount command) chooses:
vers=3.0 (for smb3.0 support)
vers=2.1 (for smb2.1 support)
or (with subsequent patch, which will allow SMB2 support)
vers=2.0 (for original smb2.02 dialect support)
send only one dialect at a time during negotiate (we
had been sending a list).
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index a792282f02f7..2fdbe08a7a23 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -272,6 +272,7 @@ static const match_table_t cifs_cacheflavor_tokens = { static const match_table_t cifs_smb_version_tokens = { { Smb_1, SMB1_VERSION_STRING }, { Smb_21, SMB21_VERSION_STRING }, + { Smb_30, SMB30_VERSION_STRING }, }; static int ip_connect(struct TCP_Server_Info *server); @@ -1074,6 +1075,10 @@ cifs_parse_smb_version(char *value, struct smb_vol *vol) vol->ops = &smb21_operations; vol->vals = &smb21_values; break; + case Smb_30: + vol->ops = &smb21_operations; /* currently identical with 2.1 */ + vol->vals = &smb30_values; + break; #endif default: cERROR(1, "Unknown vers= option specified: %s", value); |