3.2.5.1 Receiving Any Message

If the client implements the SMB 3.x dialect family and ProtocolId in the header of the received message is 0x424D53FD, the client MUST decrypt the message as specified in section 3.2.5.1.1.1 before performing the following steps.

If the client implements the SMB 3.1.1 dialect and ProtocolId in the header of the received message is 0x424D53FC, the client MUST decompress the message as specified in section 3.2.5.1.1.2 before performing the following steps.

If ProtocolId in the header of the received message is 0x424D53FE, the client MUST perform the following:

  • Unless specifically noted in a subsequent section, the following logic MUST be applied to any response message that is received from the server by the client. If the status code in the SMB2 header is not equal to STATUS_SUCCESS, the client SHOULD<180> retry the operation, in an implementation-specific manner, on the same or different channel. The client MUST ignore the CreditCharge field in the SMB2 header.

  • If the message size received exceeds Connection.MaxTransactSize, the client MAY disconnect the connection.

Otherwise, the client MUST disconnect the connection as specified in section 3.2.7.1.