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

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
cifs-protocol mailing list
cifs-protocol@lists.samba.org
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to