windows-unix-mode-bit-enforcement-20070102

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.
This commit is contained in:
Jeffrey Altman 2007-01-03 00:44:27 +00:00
parent 365351a161
commit 56d5e6970d

View File

@ -90,7 +90,7 @@ int cm_HaveAccessRights(struct cm_scache *scp, struct cm_user *userp, afs_uint32
if (!(scp->unixModeBits & 0400))
*outRightsp &= ~PRSFS_READ;
if (!(scp->unixModeBits & 0200))
*outRightsp &= ~PRSFS_WRITE;
*outRightsp &= ~(PRSFS_WRITE|PRSFS_DELETE);
code = 1;
/* fall through */