[cifs-protocol] SMB2 ECHO request

Andreas Schneider asn at samba.org
Tue Jul 25 15:34:16 UTC 2017


Hello dochelp,

The documentation currently state:

~~~~~~~~~~~~~
2.2.28 SMB2 ECHO Request

The SMB2 ECHO Request packet is sent by a client to determine whether a server 
is processing requests. This request is composed of an SMB2 header, as 
specified in section 2.2.1, followed by this request structure:

StructureSize | Reserved | StructureSize (2 bytes): The client MUST set this 
to 4, indicating the size of the request structure, not including the header.
Reserved (2 bytes): This field MUST NOT be used and MUST be reserved. The 
client MUST set this to 0, and the server MUST ignore it on receipt.
~~~~~~~~~~~~~

and

~~~~~~~~~~~~~
2.2.1.1 SMB2 Packet Header - ASYNC

SessionId (8 bytes): Uniquely identifies the established session for the 
command. This field MUST be set to 0 for an SMB2 NEGOTIATE Request (section 
2.2.3) and for an SMB2 NEGOTIATE Response (section 2.2.4).
~~~~~~~~~~~~~

Is it allowed to set the sessionID to 0 for an SMB2 ECHO request too? It looks 
like Windows allows this.


In addition to the above question, if the client receives an error in the SMB2 
ECHO response (STATUS_INVALID_PARAMETER or STAUTS_USER_SESSION_DELETED) should 
the client terminate the connection to the SMB server?

Could you please clarify?


Thank you very much for your help.



Cheers,


	Andreas

-- 
Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org
www.samba.org



More information about the cifs-protocol mailing list