diff options
author | Steve French <smfrench@gmail.com> | 2012-10-01 13:26:22 -0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-10-01 13:26:22 -0400 |
commit | e4aa25e7801163df058f62c617b859e9d3d4b148 (patch) | |
tree | 1c69663679f64f8a24c71cfe5efb2cbeb2ab4ee9 /fs/cifs/cifsglob.h | |
parent | c052e2b423f3eabe9f3f32e60744afa5cf26f6b9 (diff) |
[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/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index f6f40635abca..f5af2527fc69 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -179,6 +179,7 @@ struct smb_rqst { | |||
179 | enum smb_version { | 179 | enum smb_version { |
180 | Smb_1 = 1, | 180 | Smb_1 = 1, |
181 | Smb_21, | 181 | Smb_21, |
182 | Smb_30, | ||
182 | }; | 183 | }; |
183 | 184 | ||
184 | struct mid_q_entry; | 185 | struct mid_q_entry; |
@@ -372,6 +373,8 @@ struct smb_version_operations { | |||
372 | 373 | ||
373 | struct smb_version_values { | 374 | struct smb_version_values { |
374 | char *version_string; | 375 | char *version_string; |
376 | __u16 protocol_id; | ||
377 | __u32 req_capabilities; | ||
375 | __u32 large_lock_type; | 378 | __u32 large_lock_type; |
376 | __u32 exclusive_lock_type; | 379 | __u32 exclusive_lock_type; |
377 | __u32 shared_lock_type; | 380 | __u32 shared_lock_type; |
@@ -1496,7 +1499,13 @@ extern mempool_t *cifs_mid_poolp; | |||
1496 | #define SMB1_VERSION_STRING "1.0" | 1499 | #define SMB1_VERSION_STRING "1.0" |
1497 | extern struct smb_version_operations smb1_operations; | 1500 | extern struct smb_version_operations smb1_operations; |
1498 | extern struct smb_version_values smb1_values; | 1501 | extern struct smb_version_values smb1_values; |
1502 | #define SMB20_VERSION_STRING "2.0" | ||
1503 | /*extern struct smb_version_operations smb20_operations; */ /* not needed yet */ | ||
1504 | extern struct smb_version_values smb20_values; | ||
1499 | #define SMB21_VERSION_STRING "2.1" | 1505 | #define SMB21_VERSION_STRING "2.1" |
1500 | extern struct smb_version_operations smb21_operations; | 1506 | extern struct smb_version_operations smb21_operations; |
1501 | extern struct smb_version_values smb21_values; | 1507 | extern struct smb_version_values smb21_values; |
1508 | #define SMB30_VERSION_STRING "3.0" | ||
1509 | /*extern struct smb_version_operations smb30_operations; */ /* not needed yet */ | ||
1510 | extern struct smb_version_values smb30_values; | ||
1502 | #endif /* _CIFS_GLOB_H */ | 1511 | #endif /* _CIFS_GLOB_H */ |