]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-unix-mode-bit-enforcement-20070102
authorJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 3 Jan 2007 00:47:40 +0000 (00:47 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 3 Jan 2007 00:47:40 +0000 (00:47 +0000)
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)

src/WINNT/afsd/cm_access.c

index ee3b264b7e38b39fb60076eda55a426600c81b2a..536c7799990d741d337fb52073728de01144c387 100644 (file)
@@ -94,7 +94,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 */