diff options
Diffstat (limited to 'source3/smbd/smb2_server.c')
-rw-r--r-- | source3/smbd/smb2_server.c | 8 |
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); |