Fix bug #5073. Allow "delete readonly = yes" to correctly
authorJeremy Allison <jra@samba.org>
Mon, 12 Nov 2007 19:39:35 +0000 (11:39 -0800)
committerJeremy Allison <jra@samba.org>
Mon, 12 Nov 2007 19:39:35 +0000 (11:39 -0800)
override deletion of a file. Fix from David Shaw <dshaw@jabberwocky.com>
Jeremy.
(This used to be commit 5d1d650d192d4782421b5c3c2be1b632d4318279)

source3/smbd/nttrans.c

index 4bd457117184f783e2fdd35775ec6cfb256713ca..f07d64eded007c591b30f3e74184498be9a14bf7 100644 (file)
@@ -788,7 +788,8 @@ void reply_ntcreate_and_X(connection_struct *conn,
            && (create_disposition != FILE_CREATE)
            && (share_access & FILE_SHARE_DELETE)
            && (access_mask & DELETE_ACCESS)) {
-               if ((dos_mode(conn, fname, &sbuf) & FILE_ATTRIBUTE_READONLY) ||
+               if (((dos_mode(conn, fname, &sbuf) & FILE_ATTRIBUTE_READONLY)
+                               && !lp_delete_readonly(SNUM(conn))) ||
                                !can_delete_file_in_directory(conn, fname)) {
                        TALLOC_FREE(case_state);
                        reply_nterror(req, NT_STATUS_ACCESS_DENIED);