summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_server.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-05-07 01:20:26 -0700
committerJeremy Allison <jra@samba.org>2010-05-07 01:20:26 -0700
commit4ad1943d29a273ad3770e7abd5f266c25608eb39 (patch)
tree9e52b28a8e969b2cfd487f01fa2d5990caff994a /source3/smbd/smb2_server.c
parent882fb1828f766f2c532c32472ab7ab81f03cd906 (diff)
downloadsamba-4ad1943d29a273ad3770e7abd5f266c25608eb39.tar.gz
samba-4ad1943d29a273ad3770e7abd5f266c25608eb39.tar.bz2
samba-4ad1943d29a273ad3770e7abd5f266c25608eb39.zip
Make us pass all SMB2 lock tests except MULTIPLE-UNLOCK and CONTEXT. Them next :-).
Jeremy.
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);