From 80f72a63009eac05a91877893a802cf1a8a62d98 Mon Sep 17 00:00:00 2001 From: Richard Sharpe Date: Fri, 14 May 2004 20:58:26 +0000 Subject: r740: Fix Bug #1301. Return NT_STATUS_SHARING_VIOLATION when share mode locking requests fail. (This used to be commit 5082eb30d0d7c3a4c79b7578457682523a4e80a3) --- source3/smbd/open.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source3') diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 8ab5dab6ac..235a455f30 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -990,6 +990,13 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n", if (fsp_open) fd_close(conn, fsp); file_free(fsp); + /* + * We have detected a sharing violation here + * so return the correct error code + */ + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadshare; + unix_ERR_ntstatus = NT_STATUS_SHARING_VIOLATION; return NULL; } @@ -1057,6 +1064,13 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n", unlock_share_entry_fsp(fsp); fd_close(conn,fsp); file_free(fsp); + /* + * We have detected a sharing violation here, so + * return the correct code. + */ + unix_ERR_class = ERRDOS; + unix_ERR_code = ERRbadshare; + unix_ERR_ntstatus = NT_STATUS_SHARING_VIOLATION; return NULL; } -- cgit