mirror of
https://git.openafs.org/openafs.git
synced 2025-02-01 05:57:43 +00:00
STABLE14-macos-allow-cached-stat-access-20051118
FIXES 23257 allow cached stat info to be accessed for directories where a user has only "l" (cherry picked from commit 54ad6e769e1362ad5a81c0ef91c49babad9a37f1)
This commit is contained in:
parent
67624679b3
commit
1b55df7d51
@ -574,6 +574,10 @@ afs_vop_access(ap)
|
||||
bits |= PRSFS_INSERT;
|
||||
if (ap->a_action & KAUTH_VNODE_DELETE_CHILD)
|
||||
bits |= PRSFS_DELETE;
|
||||
if (ap->a_action & KAUTH_VNODE_READ_ATTRIBUTES)
|
||||
bits |= PRSFS_LOOKUP;
|
||||
if (ap->a_action & KAUTH_VNODE_READ_SECURITY) /* mode bits/gid, not afs acl */
|
||||
bits |= PRSFS_LOOKUP;
|
||||
} else {
|
||||
if (ap->a_action & KAUTH_VNODE_READ_DATA)
|
||||
bits |= PRSFS_READ;
|
||||
@ -581,9 +585,11 @@ afs_vop_access(ap)
|
||||
bits |= PRSFS_WRITE;
|
||||
if (ap->a_action & KAUTH_VNODE_EXECUTE)
|
||||
bits |= PRSFS_READ; /* and mode bits.... */
|
||||
if (ap->a_action & KAUTH_VNODE_READ_ATTRIBUTES)
|
||||
bits |= PRSFS_READ;
|
||||
if (ap->a_action & KAUTH_VNODE_READ_SECURITY) /* mode bits/gid, not afs acl */
|
||||
bits |= PRSFS_READ;
|
||||
}
|
||||
if (ap->a_action & KAUTH_VNODE_READ_ATTRIBUTES)
|
||||
bits |= PRSFS_READ;
|
||||
if (ap->a_action & KAUTH_VNODE_WRITE_ATTRIBUTES)
|
||||
bits |= PRSFS_WRITE;
|
||||
#if 0 /* no extended attributes */
|
||||
@ -592,8 +598,6 @@ afs_vop_access(ap)
|
||||
if (ap->a_action & KAUTH_VNODE_WRITE_EXTATTRIBUTES)
|
||||
bits |= PRSFS_WRITE;
|
||||
#endif
|
||||
if (ap->a_action & KAUTH_VNODE_READ_SECURITY) /* mode bits/gid, not afs acl */
|
||||
bits |= PRSFS_READ;
|
||||
if (ap->a_action & KAUTH_VNODE_WRITE_SECURITY)
|
||||
bits |= PRSFS_WRITE;
|
||||
/* we can't check for KAUTH_VNODE_TAKE_OWNERSHIP, so we always permit it */
|
||||
|
Loading…
x
Reference in New Issue
Block a user