[cifs-protocol] MS-SMB2 3.3.5.9.12 Handling the SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2 Create Context

Ralph Boehme slow at samba.org
Mon Mar 17 16:29:16 UTC 2025


Hello dochelp,

another one... :)

In MS-SMB2 3.3.5.9.12 Handling the 
SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2 Create Context there's the 
following paragraph:

---8<---
If the request includes the SMB2_DHANDLE_FLAG_PERSISTENT bit in
the Flags field of the SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2
create context, TreeConnect.Share.IsCA is TRUE, and
Connection.ServerCapabilities includes
SMB2_GLOBAL_CAP_PERSISTENT_HANDLES, the server MUST look up an
existing Open in the GlobalOpenTable by doing a lookup with the
CreateGuid of the create context. If the lookup fails, the server
                                   ^^^^^^^^^^^^^^^^^^^ A
SHOULD<345> fail the request with STATUS_OBJECT_NAME_NOT_FOUND and
proceed as specified in "Failed Open Handling" in section 3.3.5.9.
---8<---

To me it's unclear what has to be done if the marked "If the lookup 
fails" condition is not met, ie when the lookup succeeds, where to 
continue processing in the document? My current understanding of the 
protocol flow logic would tell me to continue with the next sentence 
which is

---8<---
Otherwise, the server SHOULD<346> fail the request with
^^^^^^^^^ B
STATUS_OBJECT_NAME_NOT_FOUND and proceed as specified in
"Failed Open Handling" in section 3.3.5.9.
---8<---

So two questions:

- where to continue if "the lookup" A succeeds ?

- reading "Otherwise" B as the "else" branch of a preceding "if" 
expression, which the corresponding "if" expression?

Thanks!
-slow
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/cifs-protocol/attachments/20250317/b27c068b/OpenPGP_signature.sig>


More information about the cifs-protocol mailing list