3.2.5.1.9 Handling Compounded Responses

A client detects that a server sent a compounded response (multiple responses chained together into a single network send) by checking if the NextCommand in the SMB2 header of the response is not equal to 0. The client MUST handle compounded responses by separating them into individual responses, regardless of any compounding used when sending the requests.

If each response in the compounded chain, except the first one, does not start at an 8-byte aligned boundary, the client SHOULD<179> disconnect the connection.

For a series of responses compounded together, each response MUST be processed in order as an individual message with a size, in bytes, as determined by the NextCommand field in the SMB2 header.

The final response in the compounded response chain will have NextCommand equal to 0, and it MUST be processed as an individual message of a size equal to the number of bytes remaining in this receive.