[MS-SMB2] Clarification regarding the relationship between MaxTransactSize and MaxReadSize

Tal Aloni 5 Reputation points
2024-02-01T22:59:46.5333333+00:00

Hello, According to [MS-SMB2] 2.2.4 NEGOTIATE Response: "MaxTransactSize (4 bytes): The maximum size, in bytes, of the buffer that can be used for QUERY_INFO, QUERY_DIRECTORY, SET_INFO and CHANGE_NOTIFY operations. MaxReadSize - The maximum read size, in bytes, that the server will accept in an SMB2 READ Request on this connection" According to 3.2.5.1 Receiving Any Message: "If the message size received exceeds Connection.MaxTransactSize, the client MUST disconnect the connection" So if I'm reading this right, MaxReadSize must be less than or equal to MaxTransactSize, or otherwise the client may request read size greater than MaxTransactSize, causing the server to disconnect the connection. However, I have been informed that Windows Server 2019 does (in some cases) return MaxReadSize value that is greater than MaxTransactSize. A clarification would be appreciated. Thank you!

Windows Open Specifications
Windows Open Specifications
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Open Specifications: Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.
42 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Tal Aloni 5 Reputation points
    2024-03-01T08:36:01.01+00:00

    Thanks Sreekanth,

    I have initially reported that this behavior was observed with "Windows Server 2019", however after verifying this it turned out that the server in question is not a Microsoft server.

    Thanks for the update to the specifications which will clear up the expected client behavior in such case.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.