summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/smb2_server.c')
-rw-r--r--source3/smbd/smb2_server.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 243dd40c31..d8e6ba10a3 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1097,10 +1097,18 @@ NTSTATUS smbd_smb2_request_dispatch(struct smbd_smb2_request *req)
case SMB2_OP_LOCK:
if (!NT_STATUS_IS_OK(session_status)) {
+ /* Too ugly to live ? JRA. */
+ if (NT_STATUS_EQUAL(session_status,NT_STATUS_USER_SESSION_DELETED)) {
+ session_status = NT_STATUS_FILE_CLOSED;
+ }
return smbd_smb2_request_error(req, session_status);
}
status = smbd_smb2_request_check_tcon(req);
if (!NT_STATUS_IS_OK(status)) {
+ /* Too ugly to live ? JRA. */
+ if (NT_STATUS_EQUAL(status,NT_STATUS_NETWORK_NAME_DELETED)) {
+ status = NT_STATUS_FILE_CLOSED;
+ }
return smbd_smb2_request_error(req, status);
}
return smbd_smb2_request_process_lock(req);