When the Unix mode bits do not include the write bit (0200), then the
file is reported to Windows as read-only. This also prevents the
acquisition of write-locks. It should also prevent deletion but the
code in cm_HaveAccessRights() did not remove the PRSFS_DELETE privilege
from the reported rights.
(cherry picked from commit
56d5e6970d27a5c99c04b105481bcf1d1bc3db1e)
if (!(scp->unixModeBits & 0400))
*outRightsp &= ~PRSFS_READ;
if (!(scp->unixModeBits & 0200))
- *outRightsp &= ~PRSFS_WRITE;
+ *outRightsp &= ~(PRSFS_WRITE|PRSFS_DELETE);
code = 1;
/* fall through */