In nttransact_create, we also need to check for delete readonly
authorVolker Lendecke <vl@sernet.de>
Sat, 1 Dec 2007 14:01:01 +0000 (15:01 +0100)
committerJeremy Allison <jra@samba.org>
Sat, 1 Dec 2007 18:43:54 +0000 (10:43 -0800)
(This used to be commit f4cc9cab518e97c1049aaad7516aba212ae15c95)

source3/smbd/nttrans.c

index d03abaeadbb2772cd6b9669f8ea998b1bd885435..9ff1cac140064e19d7c25e4c54d75cae635da4da 100644 (file)
@@ -1535,7 +1535,8 @@ static void call_nt_transact_create(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);