linux-cifs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] SMB3: update structures for new compression protocol definitions
@ 2021-04-10  1:19 Steve French
  0 siblings, 0 replies; only message in thread
From: Steve French @ 2021-04-10  1:19 UTC (permalink / raw)
  To: CIFS, linux-cifsd-devel, samba-technical

Protocol has been extended for additional compression headers.
See MS-SMB2 section 2.2.42

Signed-off-by: Steve French <stfrench@microsoft.com>
---
 fs/cifs/smb2pdu.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h
index d6cd6e6ff14d..6442dc1c292b 100644
--- a/fs/cifs/smb2pdu.h
+++ b/fs/cifs/smb2pdu.h
@@ -144,7 +144,7 @@ struct smb2_transform_hdr {
 } __packed;

 /* See MS-SMB2 2.2.42 */
-struct smb2_compression_transform_hdr {
+struct smb2_compression_transform_hdr_unchained {
  __le32 ProtocolId; /* 0xFC 'S' 'M' 'B' */
  __le32 OriginalCompressedSegmentSize;
  __le16 CompressionAlgorithm;
@@ -160,10 +160,17 @@ struct compression_payload_header {
  __le16 CompressionAlgorithm;
  __le16 Flags;
  __le32 Length; /* length of compressed playload including field
below if present */
- /* __le32 OriginalPayloadSize; */ /* optional */
+ /* __le32 OriginalPayloadSize; */ /* optional, present when LZNT1,
LZ77, LZ77+Huffman */
 } __packed;

 /* See MS-SMB2 2.2.42.2 */
+struct smb2_compression_transform_hdr_chained {
+ __le32 ProtocolId; /* 0xFC 'S' 'M' 'B' */
+ __le32 OriginalCompressedSegmentSize;
+ /* struct compression_payload_header[] */
+} __packed;
+
+/* See MS-SMB2 2.2.42.2.2 */
 struct compression_pattern_payload_v1 {
  __le16 Pattern;
  __le16 Reserved1;

-- 
Thanks,

Steve

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-10  1:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-10  1:19 [PATCH] SMB3: update structures for new compression protocol definitions Steve French

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).