3.3.3 Initialization

The server MUST initialize the following:

  • All the members in ServerStatistics MUST be set to zero.

  • SnapshotList MUST be set to empty in all shares in ShareList.

  • ServerEnabled MUST be set to FALSE.

  • GlobalOpenTable MUST be set to an empty table.

  • GlobalSessionTable MUST be set to an empty table.

  • ServerGuid MUST be set to a newly generated GUID.

  • ConnectionList MUST be set to an empty list.

  • ServerStartTime SHOULD<220> be set to zero.

  • IsDfsCapable MUST be set to FALSE.

  • ServerSideCopyMaxNumberofChunks MUST be set to an implementation-specific<221> default value.

  • ServerSideCopyMaxChunkSize MUST be set to an implementation-specific<222> default value.

  • ServerSideCopyMaxDataSize MUST be set to an implementation-specific<223> default value.

  • ShareList MUST be set to an empty list.

  • Open.DurableOpenScavengerTimeout MUST be set to zero.

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

  • ServerHashLevel MUST be set to an implementation-specific<224> default value.

If the server implements the SMB 2.1 or 3.x dialect family and supports leasing, the server MUST initialize the following:

  • GlobalLeaseTableList MUST be set to an empty list.

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

  • MaxResiliencyTimeout SHOULD<225> be set to an implementation-specific default value.

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

  • GlobalClientTable MUST be set to an empty list.

  • EncryptData MUST be set in an implementation-specific manner.

  • RejectUnencryptedAccess MUST be set in an implementation-specific manner.<226>

  • IsMultiChannelCapable MUST be set in an implementation-specific manner.<227>

  • AllowAnonymousAccess MUST be set to an implementation-specific<228> default value.

If the server implements the SMB 3.0.2 or SMB 3.1.1 dialect, the server MUST initialize the following:

  • IsSharedVHDSupported: MUST be set to FALSE.

If the server implements the SMB 3.1.1 dialect, the server MUST initialize the following:

  • MaxClusterDialect MUST be set in an implementation-specific manner.

  • Server.SupportsTreeConnectExtn MUST be set in an implementation-specific<229> manner.

  • AllowNamedPipeAccessOverQUIC MUST be set in an implementation-specific<230> manner.

The server MUST notify the completion of its initialization to the server service by invoking the event as specified in [MS-SRVS] section 3.1.6.14, providing the string "SMB2" as an input parameter.

IsMutualAuthOverQUICSupported MUST be set in an implementation-specific manner.<231>

ServerCertificateMappingTable MUST be initialized based on administrator configuration.