From f0e6a9be00e441e50f0087c543e1b7c9012d126f Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 13 Feb 2013 08:26:43 -0500 Subject: s3:smbd: use smbXsrv_open_close() instead of smbXsrv_open_update() This makes sure we store the correct disconnect_time for disconnected durable handles. Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam --- source3/smbd/close.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 9b988e07c6..9e7ccc7c05 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -769,10 +769,20 @@ static NTSTATUS close_normal_file(struct smb_request *req, files_struct *fsp, fsp->op, &new_cookie); if (NT_STATUS_IS_OK(tmp)) { + struct timeval tv; + NTTIME now; + + if (req != NULL) { + tv = req->request_time; + } else { + tv = timeval_current(); + } + now = timeval_to_nttime(&tv); + data_blob_free(&fsp->op->global->backend_cookie); fsp->op->global->backend_cookie = new_cookie; - tmp = smbXsrv_open_update(fsp->op); + tmp = smbXsrv_open_close(fsp->op, now); } if (!NT_STATUS_IS_OK(tmp)) { is_durable = false; -- cgit