summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-09-26 15:17:14 -0700
committerJeremy Allison <jra@samba.org>2008-09-26 15:17:14 -0700
commitda8bebaa646db4c298038ba0013b47e88840977e (patch)
treeadb5e0722971b55202f18bd43e94cba778874d08 /source3
parentcd49586b29d754e497d10ed18be5d9b27e8c4a3d (diff)
downloadsamba-da8bebaa646db4c298038ba0013b47e88840977e.tar.gz
samba-da8bebaa646db4c298038ba0013b47e88840977e.tar.bz2
samba-da8bebaa646db4c298038ba0013b47e88840977e.zip
Fix bug #5797 - Moving readonly files fails. Reported by infomail@lordb.de.
We don't need to deny a DELETE open on a readonly file (I'm also adding a s4 torture test for this), the set_file_disposition call will return NT_STATUS_CANNOT_DELETE if the delete-on-close bit is set on a readonly file (and we already do this). Jeremy.
Diffstat (limited to 'source3')
-rw-r--r--source3/smbd/open.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 71191475b3..ad024a58ef 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2608,9 +2608,7 @@ NTSTATUS create_file_unixpath(connection_struct *conn,
&& (create_disposition != FILE_CREATE)
&& (share_access & FILE_SHARE_DELETE)
&& (access_mask & DELETE_ACCESS)
- && (((dos_mode(conn, fname, &sbuf) & FILE_ATTRIBUTE_READONLY)
- && !lp_delete_readonly(SNUM(conn)))
- || !can_delete_file_in_directory(conn, fname))) {
+ && (!can_delete_file_in_directory(conn, fname))) {
status = NT_STATUS_ACCESS_DENIED;
goto fail;
}