question about
Jeremy Allison
jra at samba.org
Mon Mar 26 20:50:03 UTC 2018
On Sat, Mar 24, 2018 at 12:53:43PM +0800, ssdl.566 via samba-technical wrote:
> Hi Jeremy:
> I have a question about smbXsrv_open_update function call in smb2_create process.
>
>
> if (update_open ) {
> op->global->create_guid = _create_guid;
>
>
> what is create_guid field used for ? is it just used in durable connect process?
Yes, I think so.
> if (need_replay_cache) {
> op->flags |= SMBXSRV_OPEN_NEED_REPLAY_CACHE;
> }
>
>
> status = smbXsrv_open_update(op);
> DEBUG(10, ("smb2_create_send: smbXsrv_open_update "
> "returned %s\n",
> nt_errstr(status)));
> if (!NT_STATUS_IS_OK(status)) {
> tevent_req_nterror(req, status);
> return tevent_req_post(req, ev);
> }
> }
> here smbXsrv_open_update was called just to store create_guid and backend_cookie information for durable connect, am i right?
> if 'durable handles' option in smb.conf is set to 'no', i want to know if it is possible we donot call smbXsrv_open_update here.
Don't think so. "durable handles = XX" option is only
looked at in the lower layer underneath the VFS. Now
update_open which control the calling of smbXsrv_open_update()
should only get set if replay_operation is true, which
should only happen if the client supplied a dhnc
create blob. That can only happen if the client got
a valid return cookie from SMB_VFS_DURABLE_COOKIE(),
which does check "durable handles = XX".
More information about the samba-technical
mailing list