[cifs-protocol] 119100224002125 SMB3 LockSequence
srenaden at microsoft.com
Wed Oct 2 14:32:43 UTC 2019
Dochelp in Bcc
Casemail in Cc
Hello Stefan, thank you for your inquiry about MS-SMB2 specification. We have created incident 119100224002125 to investigate this issue.
Microsoft Windows Open Specifications
From: Stefan Metzmacher <metze at samba.org>
Sent: Wednesday, October 2, 2019 10:19 AM
To: Interoperability Documentation Help <dochelp at microsoft.com>; Edgar Olougouna <edgaro at microsoft.com>; cifs-protocol at lists.samba.org
Subject: SMB3 LockSequence
we discussed the topic in Redmond...
Even Windows Server 2019 only implements lock sequence checking only for resilient and persistent handles as a server.
While its client side uses lock sequence checking if it negotiated multichannel with the server.
[MS-SMB2] 188.8.131.52 Receiving an SMB2 LOCK Request
If the LockSequence value in the SMB2 LOCK Request (section 2.2.26) is not zero, and either one of the following conditions is TRUE, the server SHOULD verify whether the lock/unlock request with that LockSequence value has been successfully processed before:
* Connection.Dialect is "2.1" and Open.IsResilient is TRUE.
* Connection.Dialect belongs to the SMB 3.x dialect family.<318>
<318> Section 184.108.40.206: Windows 8, Windows Server 2012, Windows 8.1,
and Windows Server 2012 R2 do not verify the LockSequence value
in the SMB2 LOCK Request (section 2.2.26) when both
Open.IsResilient and Open.IsPersistent are FALSE.
Note <318> also applies to Windows Server 2016 and 2019 (any current version).
It would be great if the documentation can be adjusted.
But the more important question would be that the Windows Server behavior will be changed to just use the SMB 3.x dialect to turn the LockSequence checking on.
Would it be possible to get a commitment from Microsoft that this will be fixed in future releases?
Backports would also be nice.
More information about the cifs-protocol