summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-02-23 23:39:51 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:44 -0500
commite2cc3f48162d7dec35fb3f256c031979cfa531f8 (patch)
tree8bbad8c6ce99ab543ac9560d650c3fe42b3e7529 /source3/smbd/nttrans.c
parent0a063991a7b2a2a6a7ce537f24be1205d29bc09d (diff)
downloadsamba-e2cc3f48162d7dec35fb3f256c031979cfa531f8.tar.gz
samba-e2cc3f48162d7dec35fb3f256c031979cfa531f8.tar.bz2
samba-e2cc3f48162d7dec35fb3f256c031979cfa531f8.zip
r5524: Don't do share mode checks on can_delete if open, the rest of the open
code will do this correctly. More for bug #2201. Jeremy. (This used to be commit faecf639efdecf949e91184d041489aa54e8664f)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index f07fd8c25b..2bb2198574 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -793,7 +793,8 @@ create_options = 0x%x root_dir_fid = 0x%x\n", flags, desired_access, file_attrib
status = can_delete(conn, fname, file_attributes, bad_path, True);
/* We're only going to fail here if it's access denied, as that's the
only error we care about for "can we delete this ?" questions. */
- if (!NT_STATUS_IS_OK(status) && NT_STATUS_EQUAL(status,NT_STATUS_ACCESS_DENIED)) {
+ if (!NT_STATUS_IS_OK(status) && (NT_STATUS_EQUAL(status,NT_STATUS_ACCESS_DENIED) ||
+ NT_STATUS_EQUAL(status,NT_STATUS_CANNOT_DELETE))) {
restore_case_semantics(conn, file_attributes);
END_PROFILE(SMBntcreateX);
return ERROR_NT(status);