3.3.1.7 Per Transport Connection

The server implements the following:

  • Connection.CommandSequenceWindow:  A list of the sequence numbers that is valid to receive from the client at this time. For more information, see section 3.3.1.1.

  • Connection.RequestList: A list of requests, as specified in section 3.3.1.13, that are currently being processed by the server. This list is indexed by the MessageId field.

  • Connection.ClientCapabilities: The capabilities of the client of this connection in a form that MUST follow the syntax as specified in section 2.2.3.

  • Connection.NegotiateDialect: A numeric value representing the current state of dialect negotiation between the client and server on this transport connection.

  • Connection.AsyncCommandList: A list of client requests being handled asynchronously. Each request MUST have been assigned an AsyncId.

  • Connection.Dialect: The dialect of SMB2 negotiated with the client. This value MUST be either "2.0.2", "2.1", "3.0", "3.0.2", "3.1.1", or "Unknown". For the purpose of generalization in the server processing rules, the condition that Connection.Dialect is equal to "3.0", "3.0.2", or "3.1.1" is referred to as "Connection.Dialect belongs to the SMB 3.x dialect family".

  • Connection.ShouldSign: A Boolean that, if set, indicates that all sessions on this connection (with the exception of anonymous and guest sessions) MUST have signing enabled.

  • Connection.ClientName: A null-terminated Unicode UTF-16 IP address string, or NetBIOS host name of the client machine.

  • Connection.MaxTransactSize: The maximum buffer size, in bytes, that the server allows on the transport that established this connection for QUERY_INFO, QUERY_DIRECTORY, SET_INFO and CHANGE_NOTIFY operations. This field is applicable only for buffers sent by the client in SET_INFO requests, or returned from the server in QUERY_INFO, QUERY_DIRECTORY, and CHANGE_NOTIFY responses.

  • Connection.MaxWriteSize: The maximum buffer size, in bytes, that the server allows to be written on the connection using the SMB2 WRITE Request.

  • Connection.MaxReadSize: The maximum buffer size, in bytes, that the server allows to be read on the connection using the SMB2 READ Request.

  • Connection.SupportsMultiCredit: A Boolean indicating whether the connection supports multi-credit operations.

  • Connection.TransportName: An implementation-specific name of the transport used by this connection.

  • Connection.SessionTable: A table of authenticated sessions, as specified in section 3.3.1.8, established on this SMB2 transport connection. The table MUST allow lookup by both Session.SessionId and by the security context of the user that established the connection.

  • Connection.CreationTime: The time when the connection was established.

  • Connection.PreauthSessionTable: A table to store preauthentication hash values for session binding, as specified in section 3.3.1.15. The table MUST allow lookup by PreauthSession.SessionId.

If the server implements the SMB 2.1 or 3.x dialect family, it MUST implement the following:

  • Connection.ClientGuid: An identifier for the client machine.

If the server implements the SMB 3.x dialect family, it MUST implement the following:

  • Connection.ServerCapabilities: The capabilities sent by the server in the SMB2 NEGOTIATE Response on this connection, in a form that MUST follow the syntax as specified in section 2.2.4.

  • Connection.ClientSecurityMode: The security mode sent by the client in the SMB2 NEGOTIATE request on this connection, in a form that MUST follow the syntax as specified in section 2.2.3.

  • Connection.ServerSecurityMode: The security mode received from the server in the SMB2 NEGOTIATE response on this connection, in a form that MUST follow the syntax as specified in section 2.2.4.

  • Connection.ConstrainedConnection: A Boolean that, if set, indicates that authentication to a non-anonymous principal has not yet been successfully performed on this connection.

  • Connection.SupportsNotifications: A Boolean indicating whether the server supports one-way notifications on this connection.

If the server implements the SMB 3.1.1 dialect, it MUST also implement the following:

  • Connection.PreauthIntegrityHashId: The ID of the preauthentication integrity hash function that was negotiated for this connection.

  • Connection.PreauthIntegrityHashValue: The preauthentication integrity hash value that was computed for the exchange of SMB2 NEGOTIATE request and response messages on this connection.

  • Connection.CipherId: The ID of the cipher that was negotiated for this connection.

  • Connection.ClientDialects: An array of dialects received in the SMB2 NEGOTIATE Request on this connection.

  • Connection.CompressionIds: A list of compression algorithm identifiers, if any, used for this connection. Valid values are specified in section 2.2.3.1.3.

  • Connection.SupportsChainedCompression: A Boolean that, if set, indicates that chained compression is supported on this connection.

  • Connection.RDMATransformIds: A list of RDMA transform identifiers, if any, used for this connection. Valid values are specified in section 2.2.3.1.6.

  • Connection.SigningAlgorithmId: An identifier of the signing algorithm that was negotiated for this connection.

  • Connection.AcceptTransportSecurity: A Boolean that, if set, indicates that transport security is enabled and SMB2 encryption is disabled.

  • Connection.ServerCertificateMappingEntry: A certificate mapping entry, as specified in section 3.3.1.17, that is used in QUIC connection establishment.