]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
docs-xml/smbdotconf: add "smb2 disable lock sequence checking"
authorStefan Metzmacher <metze@samba.org>
Tue, 23 Jun 2020 16:30:15 +0000 (18:30 +0200)
committerJeremy Allison <jra@samba.org>
Sat, 27 Jun 2020 04:20:39 +0000 (04:20 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml [new file with mode: 0644]

diff --git a/docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml b/docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml
new file mode 100644 (file)
index 0000000..9ca7187
--- /dev/null
@@ -0,0 +1,41 @@
+<samba:parameter name="smb2 disable lock sequence checking"
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+    <para>This boolean parameter controls whether
+    <citerefentry><refentrytitle>smbd</refentrytitle>
+    <manvolnum>8</manvolnum></citerefentry> will disable
+    lock sequence checking even for multi-channel connections
+    as well as durable handles.
+    </para>
+
+    <para>The [MS-SMB2] specification (under 3.3.5.14 Receiving an SMB2 LOCK Request)
+    documents that a server should do lock sequence if Open.IsResilient or Open.IsDurable
+    or Open.IsPersistent is TRUE or if Connection.Dialect belongs to the SMB 3.x dialect
+    family and Connection.ServerCapabilities includes SMB2_GLOBAL_CAP_MULTI_CHANNEL.
+    </para>
+
+    <para>But Windows Server (at least up to v2004) only does these checks
+    for the Open.IsResilient and Open.IsPersistent.
+    That means they do not implement the behavior specified
+    in [MS-SMB2].</para>
+
+    <para>By default Samba behaves according to the specification
+    and sends smb2 oplock break notification retries.</para>
+
+    <para>Warning: Only enable this option if existing clients can't
+    handle lock sequence checking for handles without Open.IsResilient and Open.IsPersistent.
+    And it turns out that the Windows Server behavior is required.</para>
+
+    <para>Note: it's likely that this option will be removed again
+    if future Windows versions change their behavior.</para>
+
+    <para>Note: Samba does not implement Open.IsResilient and Open.IsPersistent yet.</para>
+</description>
+
+<related>server multi channel support</related>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>