diff options
-rw-r--r-- | source3/smbd/trans2.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index e8090792b0..b241aa38f4 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2958,10 +2958,12 @@ NTSTATUS set_delete_on_close_internal(files_struct *fsp, BOOL delete_on_close, u * Only allow delete on close for writable files. */ - if (dosmode & aRONLY) { - DEBUG(10,("set_delete_on_close_internal: file %s delete on close flag set but file attribute is readonly.\n", - fsp->fsp_name )); - return NT_STATUS_CANNOT_DELETE; + if (!lp_delete_readonly(SNUM(fsp->conn))) { + if (dosmode & aRONLY) { + DEBUG(10,("set_delete_on_close_internal: file %s delete on close flag set but file attribute is readonly.\n", + fsp->fsp_name )); + return NT_STATUS_CANNOT_DELETE; + } } /* |