diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2011-12-27 07:12:43 -0500 |
---|---|---|
committer | Pavel Shilovsky <pshilovsky@samba.org> | 2012-07-24 13:54:55 -0400 |
commit | ec2e4523fdba88317e06d0c7a88af3a0860447fc (patch) | |
tree | 474781811d075dfb2e01345911fd0ff585f2d64a /fs/cifs/smb2pdu.h | |
parent | 3792c1732878822ebf5a1c7e83e23453b9bbb698 (diff) |
CIFS: Add capability to send SMB2 negotiate message
and add negotiate request type to let set_credits know that
we are only on negotiate stage and no need to make a decision
about disabling echos and oplocks.
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2pdu.h')
-rw-r--r-- | fs/cifs/smb2pdu.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h index b08a277df896..ef8dae213f60 100644 --- a/fs/cifs/smb2pdu.h +++ b/fs/cifs/smb2pdu.h | |||
@@ -148,4 +148,43 @@ struct smb2_err_rsp { | |||
148 | __u8 ErrorData[1]; /* variable length */ | 148 | __u8 ErrorData[1]; /* variable length */ |
149 | } __packed; | 149 | } __packed; |
150 | 150 | ||
151 | struct smb2_negotiate_req { | ||
152 | struct smb2_hdr hdr; | ||
153 | __le16 StructureSize; /* Must be 36 */ | ||
154 | __le16 DialectCount; | ||
155 | __le16 SecurityMode; | ||
156 | __le16 Reserved; /* MBZ */ | ||
157 | __le32 Capabilities; | ||
158 | __u8 ClientGUID[16]; /* MBZ */ | ||
159 | __le64 ClientStartTime; /* MBZ */ | ||
160 | __le16 Dialects[2]; /* variable length */ | ||
161 | } __packed; | ||
162 | |||
163 | /* SecurityMode flags */ | ||
164 | #define SMB2_NEGOTIATE_SIGNING_ENABLED 0x0001 | ||
165 | #define SMB2_NEGOTIATE_SIGNING_REQUIRED 0x0002 | ||
166 | /* Capabilities flags */ | ||
167 | #define SMB2_GLOBAL_CAP_DFS 0x00000001 | ||
168 | #define SMB2_GLOBAL_CAP_LEASING 0x00000002 /* Resp only New to SMB2.1 */ | ||
169 | #define SMB2_GLOBAL_CAP_LARGE_MTU 0X00000004 /* Resp only New to SMB2.1 */ | ||
170 | |||
171 | struct smb2_negotiate_rsp { | ||
172 | struct smb2_hdr hdr; | ||
173 | __le16 StructureSize; /* Must be 65 */ | ||
174 | __le16 SecurityMode; | ||
175 | __le16 DialectRevision; | ||
176 | __le16 Reserved; /* MBZ */ | ||
177 | __u8 ServerGUID[16]; | ||
178 | __le32 Capabilities; | ||
179 | __le32 MaxTransactSize; | ||
180 | __le32 MaxReadSize; | ||
181 | __le32 MaxWriteSize; | ||
182 | __le64 SystemTime; /* MBZ */ | ||
183 | __le64 ServerStartTime; | ||
184 | __le16 SecurityBufferOffset; | ||
185 | __le16 SecurityBufferLength; | ||
186 | __le32 Reserved2; /* may be any value, ignore */ | ||
187 | __u8 Buffer[1]; /* variable length GSS security buffer */ | ||
188 | } __packed; | ||
189 | |||
151 | #endif /* _SMB2PDU_H */ | 190 | #endif /* _SMB2PDU_H */ |